<SEC-DOCUMENT>0001437749-22-019625.txt : 20220809
<SEC-HEADER>0001437749-22-019625.hdr.sgml : 20220809
<ACCEPTANCE-DATETIME>20220809163202
ACCESSION NUMBER:		0001437749-22-019625
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		107
CONFORMED PERIOD OF REPORT:	20220630
FILED AS OF DATE:		20220809
DATE AS OF CHANGE:		20220809

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			BIOLIFE SOLUTIONS INC
		CENTRAL INDEX KEY:			0000834365
		STANDARD INDUSTRIAL CLASSIFICATION:	ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS [3845]
		IRS NUMBER:				943076866
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-36362
		FILM NUMBER:		221148853

	BUSINESS ADDRESS:	
		STREET 1:		3303 MONTE VILLA PARKWAY
		STREET 2:		SUITE 310
		CITY:			BOTHELL
		STATE:			WA
		ZIP:			98021
		BUSINESS PHONE:		4254011400

	MAIL ADDRESS:	
		STREET 1:		3303 MONTE VILLA PARKWAY
		STREET 2:		SUITE 310
		CITY:			BOTHELL
		STATE:			WA
		ZIP:			98021

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	BIOLIFE SOLUTION INC
		DATE OF NAME CHANGE:	20030113

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CRYOMEDICAL SCIENCES INC
		DATE OF NAME CHANGE:	19920703
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>bioli20220630_10q.htm
<DESCRIPTION>FORM 10-Q
<TEXT>
<XBRL>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:srt-types="http://fasb.org/srt-types/2017-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:blfs="http://www.biolifesolutions.com/20220630" xmlns:srt="http://fasb.org/srt/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:rr="http://xbrl.sec.gov/rr/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21">
 <head>
  <title>bioli20220630_10q.htm</title>
  <!-- Generated by ThunderDome Portal - 8/9/2022 2:11:07 AM -->
  <meta http-equiv="Content-Type" content="text/html" /></head>
 <body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;"><div style="display: none;"><ix:header><ix:hidden>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:EntityCentralIndexKey" id="thunderdome-EntityCentralIndexKey">0000834365</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:EntityRegistrantName" id="thunderdome-EntityRegistrantName">BIOLIFE SOLUTIONS INC</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:AmendmentFlag" format="ixt:booleanfalse">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="dei:DocumentFiscalYearFocus">2022</ix:nonNumeric>
<ix:nonFraction id="c86200262" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">458</ix:nonFraction>
<ix:nonFraction id="c86200263" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">275</ix:nonFraction>
<ix:nonFraction id="c86200325" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction id="c86200326" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction id="c86200330" contextRef="i_2022-06-30" unitRef="USDPerShare" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c86200331" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c86200332" contextRef="i_2022-06-30" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">1,000,000</ix:nonFraction>
<ix:nonFraction id="c86200333" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">1,000,000</ix:nonFraction>
<ix:nonFraction id="c86200334" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="blfs:PreferredStockSharesDesignated" scale="0" format="ixt:numdotdecimal" decimals="INF">4,250</ix:nonFraction>
<ix:nonFraction id="c86200335" contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="blfs:PreferredStockSharesDesignated" scale="0" format="ixt:numdotdecimal" decimals="INF">4,250</ix:nonFraction>
<ix:nonFraction id="c86200336" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86200338" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86200337" contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86200339" contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86200342" contextRef="i_2022-06-30" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c86200343" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c86200344" contextRef="i_2022-06-30" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">150,000,000</ix:nonFraction>
<ix:nonFraction id="c86200345" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">150,000,000</ix:nonFraction>
<ix:nonFraction id="c86200346" contextRef="i_2022-06-30" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">42,536,734</ix:nonFraction>
<ix:nonFraction id="c86200348" contextRef="i_2022-06-30" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,536,734</ix:nonFraction>
<ix:nonFraction id="c86200347" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">41,817,503</ix:nonFraction>
<ix:nonFraction id="c86200349" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">41,817,503</ix:nonFraction>
<ix:nonFraction id="c86203929" contextRef="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="Share" name="blfs:BusinessCombinationContingentConsiderationStockIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">64,130</ix:nonFraction>
<ix:nonNumeric contextRef="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MinimumMember" name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="c86201240" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MaximumMember" name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="c86201241" format="ixt-sec:duryear">10</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MinimumMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c86201246" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MaximumMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c86201247" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203881" format="ixt-sec:duryear">0.5</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203883" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203885" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203888" format="ixt-sec:duryear">0.5</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203890" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c86203892" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonFraction id="c86201627" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86201650" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86201745" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86201753" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="6" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c86201757" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="6" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:footnote xml:lang="en-us" id="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae">In-process R&amp;D represents the fair value of incomplete research and development that has not yet reached technological feasibility. We will amortize the asset upon technological feasibility.</ix:footnote></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="blfs-20220630.xsd" xlink:type="simple"></link:schemaRef></ix:references>
<ix:resources>
<xbrli:context id="d_2022-01-01_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="Share"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-08-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-08-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="NonApplicable"><xbrli:measure>thunderdome:item</xbrli:measure></xbrli:unit>
<xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="USDPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit>
<xbrli:context id="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:EquipmentLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:EquipmentLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-10</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-10</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-10</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputAssetPriceVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputAssetPriceVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-06_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-06</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ContingentConvertiblePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">blfs:SeriesA1AndA2PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesEPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ContingentConvertiblePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Year"><xbrli:measure>utr:Y</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:RealEstateLeaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:RealEstateLeaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:LeaseExtensionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:LeaseExtensionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">blfs:FurnitureAndComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">blfs:FurnitureAndComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_RangeAxis-WeightedAverageMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-AbandonedInProcessResearchAndDevelopmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:AbandonedInProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan1Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-FinancedInsurancePremiumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerEquipmentLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-FreezerEquipmentLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerEquipmentLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:ManufacturingEquipmentLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-ManufacturingEquipmentLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:ManufacturingEquipmentLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerInstallationLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-FreezerInstallationLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerInstallationLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-OtherLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:OtherLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DebtInstrumentAxis-OtherLoansMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:OtherLoansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsToPurchaseCommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2014-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsInConnectionWithWaviCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WaviHoldingAgAndTaurus4757GmbhWarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-05-14</xbrli:startDate><xbrli:endDate>2020-05-14</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsExercisedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-25</xbrli:startDate><xbrli:endDate>2021-03-25</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-25</xbrli:startDate><xbrli:endDate>2020-03-25</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-25</xbrli:startDate><xbrli:endDate>2020-03-25</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-24</xbrli:startDate><xbrli:endDate>2022-02-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-25</xbrli:startDate><xbrli:endDate>2020-03-25</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockSecondIssuanceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockSecondIssuanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-25</xbrli:startDate><xbrli:endDate>2020-03-25</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-08</xbrli:startDate><xbrli:endDate>2021-02-08</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-08</xbrli:startDate><xbrli:endDate>2021-02-08</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-08</xbrli:startDate><xbrli:endDate>2021-02-08</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-08</xbrli:startDate><xbrli:endDate>2021-02-08</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-24</xbrli:startDate><xbrli:endDate>2022-02-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-24</xbrli:startDate><xbrli:endDate>2022-02-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-24</xbrli:startDate><xbrli:endDate>2022-02-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockIssuedToAcquireParticipatingHoldersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:EquityInterestIssuedOrIssuableByTypeAxis">blfs:CommonStockIssuedToAcquireParticipatingHoldersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockDepositedIntoEscrowMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:EquityInterestIssuedOrIssuableByTypeAxis">blfs:CommonStockDepositedIntoEscrowMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-SextonAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">blfs:OneGCIStockholderMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">blfs:OneGCIStockholderMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Month"><xbrli:measure>utr:M</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">blfs:IndefiniteInProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-03</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-03</xbrli:startDate><xbrli:endDate>2021-05-03</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000834365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae" fromRefs="c86201395 c86201397"></ix:relationship></ix:resources>
</ix:header></div>
  <div>
    &#xa0;
  </div>
  <div><div>
 &#xa0;
</div>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><a href="#toc" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt">Table of Contents</a></p>
<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</p>
<p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: center;"><b>UNITED STATES</b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>Washington, DC 20549</b></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>FORM <ix:nonNumeric name="dei:DocumentType" contextRef="d_2022-01-01_2022-06-30">10-Q</ix:nonNumeric></b></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><ix:nonNumeric name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-06-30">&#x2611;</ix:nonNumeric> <b> QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">For the quarterly period ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" format="ixt:datemonthdayyearen" contextRef="d_2022-01-01_2022-06-30">June 30, 2022</ix:nonNumeric></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><ix:nonNumeric name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-06-30">&#x2610;</ix:nonNumeric> <b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE</b><br /> <b>ACT OF 1934</b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">For the transition period from&#xa0;&#xa0;&#xa0;&#xa0; to</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">Commission File Number <ix:nonNumeric name="dei:EntityFileNumber" contextRef="d_2022-01-01_2022-06-30">001-36362</ix:nonNumeric></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>BioLife Solutions, Inc.</b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><i>(Exact name of registrant as specified in its charter)</i></p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><img alt="biolife.jpg" src="biolife.jpg" /></p>
<div style="text-align: center;">
 <hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
</div>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<table style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align:top;width:49.3%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" contextRef="d_2022-01-01_2022-06-30">Delaware</ix:nonNumeric></b></p> </td><td style="vertical-align:top;width:49.3%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="d_2022-01-01_2022-06-30">94-3076866</ix:nonNumeric></b></p> </td></tr>
<tr><td style="vertical-align:top;width:49.3%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><i>(State or other jurisdiction of</i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><i>incorporation or organization)</i></p> </td><td style="vertical-align:top;width:49.3%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><i>(IRS Employer</i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><i>Identification No.)</i></p> </td></tr>
</tbody></table>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="d_2022-01-01_2022-06-30">3303 Monte Villa&#xa0;Parkway, SUITE 310</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="d_2022-01-01_2022-06-30">Bothell</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" contextRef="d_2022-01-01_2022-06-30">Washington</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="d_2022-01-01_2022-06-30">98021</ix:nonNumeric></b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><i>(Address of registrant</i>&#x2019;<i>s principal executive offices, Zip Code)</i></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>(<ix:nonNumeric name="dei:CityAreaCode" contextRef="d_2022-01-01_2022-06-30">425</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="d_2022-01-01_2022-06-30">402-1400</ix:nonNumeric></b></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><i>(Telephone number, including area code)</i></p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Securities registered pursuant to Section 12(b) of the Act:</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<table style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; vertical-align: top; width: 39.2%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Title of each class</b></p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 20.3%; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Trading symbol</b></p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 39.2%; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Name of exchange on which registered</b></p> </td></tr>
<tr><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 39.2%; border-left: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="d_2022-01-01_2022-06-30">BioLife Solutions, Inc. Common Shares</ix:nonNumeric></p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 20.3%; border-right: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="d_2022-01-01_2022-06-30">BLFS</ix:nonNumeric></p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 39.2%; border-right: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" contextRef="d_2022-01-01_2022-06-30">NASDAQ</ix:nonNumeric> Capital Market</p> </td></tr>
</tbody></table>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Indicate by check mark whether the registrant (1)&#xa0;has filed all reports required to be filed by Section&#xa0;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#xa0;has been subject to such filing requirements for the past 90&#xa0;days. <ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="d_2022-01-01_2022-06-30">Yes</ix:nonNumeric> &#x2611; &#xa0;No &#x2610;</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (S232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit said files). <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="d_2022-01-01_2022-06-30">Yes</ix:nonNumeric> &#x2611; &#xa0;No &#x2610;</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of &#x201c;large accelerated filer&#x201d;, &#x201c;accelerated filer&#x201d;, &#x201c;smaller reporting company&#x201d; and &#x201c;emerging growth company&#x201d; in Rule&#xa0;12b-2 of the Exchange Act.</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><ix:nonNumeric name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" contextRef="d_2022-01-01_2022-06-30">Large accelerated filer</ix:nonNumeric> &#x2611; &#xa0;Accelerated filer &#x2610; &#xa0;Non-accelerated filer &#x2610; &#xa0;Smaller reporting company <ix:nonNumeric name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-06-30">&#x2610;</ix:nonNumeric> Emerging Growth Company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-06-30">&#x2610;</ix:nonNumeric></p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#x2610;</p>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#xa0;12b-2 of the Act). Yes <ix:nonNumeric name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-06-30">&#x2610;</ix:nonNumeric> &#xa0;No &#x2611;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">As of August 1, 2022, <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="Share" decimals="INF" format="ixt:numdotdecimal" contextRef="i_2022-08-01">42,605,036</ix:nonFraction> shares of the registrant&#x2019;s common stock were outstanding.</p></div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     1
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>BIOLIFE SOLUTIONS, INC.</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>FORM 10-Q</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>FOR THE QUARTER ENDED JUNE 30, 2022</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b><a id="toc" title="toc" href="#"></a>TABLE OF CONTENTS</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">
    <tbody>
     <tr>
      <td colspan="2" rowspan="1" style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#partonefinancialinformation" style="-sec-extract:exhibit;">PART I. FINANCIAL INFORMATION</a></p> </td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 1.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#itemonfinsta" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated Financial Statements</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#itemonfinsta">3</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#condensedconsolidatedbalshe" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated</span><span style="text-decoration: underline; ">&#xa0;</span><span style="text-decoration: underline; ">Balance Sheets as of June 30, 2022 and December 31, 2021</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#condensedconsolidatedbalshe">3</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#staofope" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated Statements of Operations for the three and six month periods ended June 30, 2022 and 2021</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#staofope">4</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#constaofcomploss" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated Statements of Comprehensive Loss for the three and six month periods ended June 30, 2022 and 2021</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#constaofcomploss">5</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#staofsharequity" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated</span><span style="text-decoration: underline; ">&#xa0;</span><span style="text-decoration: underline; ">Statements of Shareholders</span><span style="text-decoration: underline; ">&#x2019;</span><span style="text-decoration: underline; ">&#xa0;Equity for the three and six month periods ended June 30, 2022 and 2021</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#staofsharequity">6</a>-<a class="tocPGNUM" href="#equity2">7</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#staofcashflows" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unaudited Condensed Consolidated</span><span style="text-decoration: underline; ">&#xa0;</span><span style="text-decoration: underline; ">Statements of Cash Flows for the six month periods ended June 30, 2022 and 2021</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#staofcashflows">8</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#notestounaudited" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Notes to Unaudited Condensed Consolidated</span><span style="text-decoration: underline; ">&#xa0;</span><span style="text-decoration: underline; ">Financial Statements</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#notestounaudited">9</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 2.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#itemtwo" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Management</span><span style="text-decoration: underline; ">&#x2019;</span><span style="text-decoration: underline; ">s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#itemtwo">31</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 3.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#itemthree" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Quantitative and Qualitative Disclosures about Market Risk</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#itemthree">38</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 4.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#itemfour" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Controls and Procedures</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#itemfour">39</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td colspan="2" rowspan="1" style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwootherinformation" style="-sec-extract:exhibit;">PART II. <span style="text-decoration: underline; ">OTHER INFORMATION</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwootherinformation">39</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 1.&#xa0;</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemone" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Legal Proceedings</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemone">39</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 1A.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemonea" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Risk Factors</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemonea">40</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 2.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemtwo" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemtwo">40</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 3.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemthree" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Defaults Upon Senior Securities</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemthree">40</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 4.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemfour" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Mine Safety Disclosures</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemfour">40</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 5.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemfive" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Other Information</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemfive">40</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 6.</p> </td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#parttwoitemsix" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Exhibits</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#parttwoitemsix">41</a></td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 5%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align: middle; width: 7%;">&#xa0;</td>
      <td style="vertical-align: middle; width: 88%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#sigs" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Signatures</span></a></p> </td>
      <td style="vertical-align: middle; width: 5%; text-align: center;"><a class="tocPGNUM" href="#sigs">42</a></td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     2
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="partonefinancialinformation" title="partonefinancialinformation" href="#"></a>PART I. FINANCIAL INFORMATION</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="itemonfinsta" title="itemonfinsta" href="#"></a>Item</b>&#xa0;<b>1.</b> <b>Financial Statements</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="condensedconsolidatedbalshe" title="condensedconsolidatedbalshe" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Unaudited Condensed Consolidated Balance Sheets</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
   <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except per share and share data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200256" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">24,001</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200257" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-4">69,860</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200258" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:RestrictedCashCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200259" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:RestrictedCashCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Available-for-sale securities, current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202142" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">22,546</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202143" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, trade, net of allowance for doubtful accounts of $<span style="-sec-ix-hidden:c86200262">458</span> and $<span style="-sec-ix-hidden:c86200263">275</span> as of June 30, 2022 and December 31, 2021, respectively</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200260" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">31,257</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200261" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">23,217</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200266" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">33,335</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200267" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">28,345</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200268" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">6,890</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200269" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,427</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200270" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">118,057</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200271" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">125,859</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Assets held for rent, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200272" contextRef="i_2022-06-30" unitRef="USD" name="blfs:AssetsHeldForRentNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">9,083</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200273" contextRef="i_2021-12-31" unitRef="USD" name="blfs:AssetsHeldForRentNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">9,809</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200274" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">19,117</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200275" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">17,657</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200276" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">17,306</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200277" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">18,705</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Financing lease right-of-use assets, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200278" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">367</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200279" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-4">440</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term deposits and other assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200280" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DepositsAssetsNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">323</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200281" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DepositsAssetsNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">325</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Available-for-sale securities, long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200282" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">489</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200283" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equity investments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200284" contextRef="i_2022-06-30" unitRef="USD" name="blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">4,372</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200285" contextRef="i_2021-12-31" unitRef="USD" name="blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">4,372</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible assets, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200286" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">76,524</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200287" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">152,149</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200288" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">224,741</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200289" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">224,741</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200290" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">470,379</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200291" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">554,057</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities and Shareholders</b>&#x2019;<b> Equity</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200294" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">11,537</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200295" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">14,945</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued expenses and other current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200296" contextRef="i_2022-06-30" unitRef="USD" name="blfs:AccruedExpensesAndOtherCurrentLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">7,187</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200297" contextRef="i_2021-12-31" unitRef="USD" name="blfs:AccruedExpensesAndOtherCurrentLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">7,142</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Warranty liability</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200298" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">8,722</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200299" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">9,398</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating, current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200300" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">2,733</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200301" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">2,758</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, financing, current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200302" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">153</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200303" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">149</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Debt, current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200304" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,363</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200305" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">862</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration, current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200306" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,603</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200307" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">5,127</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200308" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">33,298</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200309" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">40,381</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration, long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200310" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,912</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200311" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-5">4,900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating, long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200312" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">15,205</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200313" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">16,466</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, financing, long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200314" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">213</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200315" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">291</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Debt, long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200316" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,188</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200317" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,353</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200318" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,149</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200319" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">5,487</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200320" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">101</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200321" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">42</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200322" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">58,066</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200323" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-4">73,920</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Commitments and Contingencies (Note 12)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;<span style="-sec-ix-hidden:c86200325">&#xa0;</span></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;<span style="-sec-ix-hidden:c86200326">&#xa0;</span></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shareholders&#x2019; equity:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Preferred stock, $<span style="-sec-ix-hidden:c86200330"><span style="-sec-ix-hidden:c86200331">0.001</span></span> par value; <span style="-sec-ix-hidden:c86200332"><span style="-sec-ix-hidden:c86200333">1,000,000</span></span> shares authorized, Series A, <span style="-sec-ix-hidden:c86200334"><span style="-sec-ix-hidden:c86200335">4,250</span></span> shares designated, and <span style="-sec-ix-hidden:c86200336"><span style="-sec-ix-hidden:c86200338"><span style="-sec-ix-hidden:c86200337"><span style="-sec-ix-hidden:c86200339">0</span></span></span></span> shares issued and outstanding as of June 30, 2022 and December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200328" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:PreferredStockValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200329" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PreferredStockValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Common stock, $<span style="-sec-ix-hidden:c86200342"><span style="-sec-ix-hidden:c86200343">0.001</span></span> par value; <span style="-sec-ix-hidden:c86200344"><span style="-sec-ix-hidden:c86200345">150,000,000</span></span> shares authorized, <span style="-sec-ix-hidden:c86200346"><span style="-sec-ix-hidden:c86200348">42,536,734</span></span> and <span style="-sec-ix-hidden:c86200347"><span style="-sec-ix-hidden:c86200349">41,817,503</span></span> shares issued and outstanding, respectively, as of June 30, 2022 and December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200340" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200341" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">42</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Additional paid-in capital</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200350" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-4">597,810</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200351" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">585,397</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accumulated other comprehensive loss, net of taxes</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200352" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-5" sign="-">900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200353" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">282</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accumulated deficit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200354" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">184,640</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200355" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">105,020</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total shareholders&#x2019; equity</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200356" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">412,313</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200357" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">480,137</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total liabilities and shareholders&#x2019; equity</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200358" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">470,379</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200359" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">554,057</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     3
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="staofope" title="staofope" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Unaudited Condensed Consolidated Statements of Operations</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
    <tbody>
     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except per share and share data)</b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200360" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">34,170</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200361" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">27,468</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200362" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">64,558</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200363" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">41,244</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200364" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,698</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200365" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,963</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200366" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">6,787</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200367" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,167</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200368" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,665</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200369" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,773</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200370" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">5,407</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200371" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">2,640</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total product, rental, and service revenue</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200372" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">40,533</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200373" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">31,204</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200374" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">76,752</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200375" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">48,051</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Costs and operating expenses:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of product revenue (exclusive of intangible assets amortization)</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200377" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">21,561</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200378" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">15,986</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200379" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">41,501</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200380" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">21,609</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of service revenue (exclusive of intangible assets amortization)</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200381" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">2,968</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200382" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">1,427</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200383" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">5,557</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200384" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">2,779</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of rental revenue (exclusive of intangible assets amortization)</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200385" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">1,665</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200386" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">1,141</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200387" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">3,582</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200388" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">1,716</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200389" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,351</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200390" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">7,146</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200391" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">22,546</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200392" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,974</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200393" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">5,415</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200394" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,142</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200395" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">10,306</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200396" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">5,164</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200397" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,428</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200398" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,045</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200399" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">7,209</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200400" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">5,032</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset impairment charges</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200401" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:numdotdecimal" decimals="-5">69,900</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200402" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200403" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:numdotdecimal" decimals="-5">69,900</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200404" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset amortization</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200405" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">2,863</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200406" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,882</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200407" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,725</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200408" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">2,815</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Acquisition costs</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200409" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">5</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200410" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">272</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200411" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">16</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200412" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,271</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value of contingent consideration</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200413" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,361</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200414" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3">1,718</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200415" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,695</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200416" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3">1,226</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating expenses</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200417" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:CostsAndExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">116,795</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200418" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:CostsAndExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">35,759</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200419" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CostsAndExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">160,647</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200420" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:CostsAndExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">53,586</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating loss</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200421" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">76,262</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200422" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,555</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200423" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">83,895</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200424" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,535</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other expense:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Interest expense, net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200426" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">9</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200427" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">121</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200428" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">173</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200429" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">137</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other (expense) income, net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200430" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">22</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200431" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200432" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">110</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200433" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value of warrant liability</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200434" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200435" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200436" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200437" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:numdotdecimal" decimals="-3">121</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total other expense, net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200438" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">31</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200439" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">121</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200440" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">63</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200441" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">259</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Loss before income tax benefit</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200442" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">76,293</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200443" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,676</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200444" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">83,958</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200445" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,794</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income tax benefit</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200446" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,739</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200447" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,552</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200448" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,338</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200449" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,552</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200450" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200451" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200452" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200453" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income attributable to common shareholders:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200455" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200456" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">7,661</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200457" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200458" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">6,543</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200459" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200460" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3">7,668</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200461" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200462" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3">6,551</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income per share attributable to common shareholders:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200464" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.71</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200465" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.20</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200466" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.89</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200467" contextRef="d_2021-01-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.18</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200468" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.71</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200469" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.19</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200470" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.89</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200471" contextRef="d_2021-01-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.17</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average shares used to compute (loss) earnings per share attributable to common shareholders:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200473" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,460,189</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200474" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">38,072,712</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200475" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,238,355</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200476" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">35,668,124</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200477" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,460,189</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200478" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">40,390,098</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200479" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,238,355</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200480" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">38,275,603</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     4
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="constaofcomploss" title="constaofcomploss" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Unaudited Condensed Consolidated Statements of Comprehensive Loss</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
    <tbody>
     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200481" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200482" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200483" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200484" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other comprehensive (loss) income:</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation adjustment, net of tax</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200486" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">422</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200487" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200488" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">578</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200489" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrealized loss on available-for-sale securities, net of tax</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200490" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200491" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200492" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200493" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td>&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Comprehensive (loss) income</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200494" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">73,016</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200495" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">7,879</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200496" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">80,238</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200497" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">6,761</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     5
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="staofsharequity" title="staofsharequity" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Unaudited Condensed Consolidated Statements of Shareholders</b>&#x2019;<b> Equity</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
   <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="30" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Additional</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Other</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Paid-in</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Comprehensive</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shareholders</b>&#x2019;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Capital</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Loss</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deficit</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Equity</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200498" contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200499" contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200500" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">41,817,503</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200501" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">42</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200502" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">585,397</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200503" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">282</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200504" contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">105,020</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200505" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">480,137</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Fees incurred for registration filings</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200507" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200509" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200510" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">76</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200511" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200512" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200513" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">76</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200515" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200517" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200518" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">11,372</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200519" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200520" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200521" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">11,372</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock option exercises</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200522" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200523" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200524" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">154,504</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200525" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200526" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">301</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200527" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200528" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200529" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">301</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued &#x2013; on vested RSAs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200530" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200531" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200532" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:numdotdecimal" decimals="INF">500,597</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200533" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200534" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200535" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200536" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200537" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration shares issued</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200538" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesContingentConsideration" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200539" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200540" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesContingentConsideration" scale="0" format="ixt:numdotdecimal" decimals="INF">64,130</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200541" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200542" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">816</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200543" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200544" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200545" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">816</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200547" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200549" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200550" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200551" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">578</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200552" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200553" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">578</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrealized loss on available-for-sale securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200555" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200557" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200558" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200559" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200560" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200561" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200563" contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200565" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200566" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200567" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200568" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200569" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200570" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200571" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200572" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,536,734</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200573" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200574" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">597,810</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200575" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-5" sign="-">900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200576" contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">184,640</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200577" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">412,313</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="margin: 0pt;">&#xa0;</p>
  <div>
   <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="30" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Additional</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Other</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Paid-in</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Comprehensive</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shareholders</b>&#x2019;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Capital</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Loss</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deficit</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Equity</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, March 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200578" contextRef="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200579" contextRef="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200580" contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,331,082</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200581" contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">42</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200582" contextRef="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">591,002</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200583" contextRef="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">438</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200584" contextRef="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">112,086</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200585" contextRef="i_2022-03-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">478,520</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Fees incurred for registration filings</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200587" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200589" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200590" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">24</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200591" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200592" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200593" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">24</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200595" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200597" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200598" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,973</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200599" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200600" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200601" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,973</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock option exercises</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200602" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200603" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200604" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">24,571</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200605" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200606" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200607" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200608" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200609" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued &#x2013; on vested RSAs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200610" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200611" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200612" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:numdotdecimal" decimals="INF">116,951</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200613" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200614" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200615" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200616" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200617" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration shares issued</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200618" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesContingentConsideration" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200619" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200620" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesContingentConsideration" scale="0" format="ixt:numdotdecimal" decimals="INF">64,130</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200621" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200622" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">816</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200623" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200624" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200625" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">816</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200627" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200629" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200630" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200631" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">422</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200632" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200633" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">422</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrealized loss on available-for-sale securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200635" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200637" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200638" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200639" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200640" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200641" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">40</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200643" contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200645" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200646" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200647" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200648" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200649" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200651" contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200652" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,536,734</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200653" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200654" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">597,810</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200655" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-5" sign="-">900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200656" contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">184,640</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200657" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">412,313</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       6
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><a id="equity2" title="equity2" href="#"></a></p>
  <div>
   <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="30" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30, 2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Additional</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Other</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Paid-in</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Comprehensive</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shareholders</b>&#x2019;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Capital</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Loss</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deficit</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Equity</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2020</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200658" contextRef="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200659" contextRef="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200660" contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">33,039,146</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200661" contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">33</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200662" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">302,598</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200663" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200664" contextRef="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">97,385</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200665" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">205,246</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued as consideration in GCI acquisition</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200666" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200667" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200668" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" format="ixt:numdotdecimal" decimals="INF">6,636,470</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200669" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">7</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200670" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">232,734</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200671" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200672" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200673" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">232,741</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200675" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200677" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200678" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">4,024</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200679" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200680" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200681" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">4,024</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock option exercises</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200682" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200683" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200684" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">387,759</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200685" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200686" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">607</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200687" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200688" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200689" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">608</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued &#x2013; on vested RSAs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200690" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200691" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200692" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:numdotdecimal" decimals="INF">427,315</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200693" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200694" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200695" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200696" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200697" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cashless exercises of 79,100 warrants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200698" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200699" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200700" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises" scale="0" format="ixt:numdotdecimal" decimals="INF">70,030</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200701" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200702" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:numdotdecimal" decimals="-3">2,901</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200703" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200704" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200705" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises" scale="3" format="ixt:numdotdecimal" decimals="-3">2,901</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200715" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200717" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200718" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200719" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200720" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200721" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200723" contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200725" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200726" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200727" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200728" contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200729" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200730" contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200731" contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200732" contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">40,560,720</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200733" contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">41</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200734" contextRef="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">542,864</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200735" contextRef="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200736" contextRef="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">90,627</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200737" contextRef="i_2021-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">452,281</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="margin: 0pt;">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
    <tbody>
     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="30" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30, 2021</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Series A</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Preferred</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Additional</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Other</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Stock</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Paid-in</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Comprehensive</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shareholders</b>&#x2019;</b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom;">
      <td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share data)</b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Capital</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Income</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deficit</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Equity</b></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;">Balance, March 31, 2021</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200738" contextRef="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200739" contextRef="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200740" contextRef="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">33,634,194</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200741" contextRef="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">34</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200742" contextRef="i_2021-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">307,246</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200743" contextRef="i_2021-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200744" contextRef="i_2021-03-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">98,503</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200745" contextRef="i_2021-03-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">208,777</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued as consideration in GCI acquisition</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200746" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200747" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200748" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" format="ixt:numdotdecimal" decimals="INF">6,636,470</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200749" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">7</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200750" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">232,734</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200751" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200752" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200753" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">232,741</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock based compensation</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200755" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200757" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200758" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-4">2,520</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200759" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200760" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200761" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-4">2,520</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock option exercises</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200762" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200763" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200764" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">224,894</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200765" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200766" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">364</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200767" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200768" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200769" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">364</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock issued &#x2013; on vested RSAs</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200770" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200771" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200772" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="0" format="ixt:numdotdecimal" decimals="INF">65,162</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200773" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200774" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200775" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200776" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200777" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200779" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200781" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200782" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200783" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200784" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200785" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200787" contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200789" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200790" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200791" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200792" contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200793" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2021</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200794" contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200795" contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200796" contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">40,560,720</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200797" contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">41</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200798" contextRef="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">542,864</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200799" contextRef="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86200800" contextRef="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">90,627</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200801" contextRef="i_2021-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">452,281</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     7
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="staofcashflows" title="staofcashflows" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Unaudited Condensed Consolidated Statements of Cash Flows</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
   <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Cash flows from operating activities</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200803" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200804" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Adjustments to reconcile net (loss) income to net cash used in operating activities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible asset impairment charges</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200806" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:numdotdecimal" decimals="-5">69,900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200807" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Stock-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200808" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">11,372</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200809" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">4,024</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amortization of intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200810" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,725</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200811" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">2,815</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Depreciation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200812" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">3,257</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200813" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,895</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Non-cash lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200814" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:NoncashLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,308</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200815" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:NoncashLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,047</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Change in fair value of warrant liability</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200816" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200817" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:FairValueAdjustmentOfWarrants" scale="3" format="ixt:numdotdecimal" decimals="-3">121</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Loss on disposal of property and equipment, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200818" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">35</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200819" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">(Gain) loss on disposal of assets held for rent, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200820" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:GainLossOnDispositionOfAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-3">264</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200821" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:GainLossOnDispositionOfAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">102</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income tax benefit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200822" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,338</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200823" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,552</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Change in fair value of contingent consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200824" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,695</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200825" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" format="ixt:numdotdecimal" decimals="-3">1,226</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200826" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" format="ixt:numdotdecimal" decimals="-5">200</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200827" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" format="ixt:numdotdecimal" decimals="-3">175</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="padding-left: 9pt;">&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in operating assets and liabilities, net of effects of acquisitions</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts receivable, trade, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200829" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">8,128</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200830" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">8,494</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200831" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-4">4,990</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200832" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,283</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses and other assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200833" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" scale="3" format="ixt:numdotdecimal" decimals="-3">1,492</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200834" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">2,370</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200835" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,402</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200836" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">2,790</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued expenses and other current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200837" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,033</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200838" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">681</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Warranty liability</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200839" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:IncreaseDecreaseInWarrantyLiability" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">676</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200840" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:IncreaseDecreaseInWarrantyLiability" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,201</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net cash used in operating activities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200841" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">17,841</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200842" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,902</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Cash flows from investing activities</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash acquired in acquisition of Global Cooling, Inc.</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200844" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CashAcquiredFromAcquisition" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200845" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:CashAcquiredFromAcquisition" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Proceeds from sale of equipment</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200846" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromSaleOfMachineryAndEquipment" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200847" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProceedsFromSaleOfMachineryAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Purchases of assets held for rent</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200848" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:PaymentsToAcquireAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-3">774</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200849" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:PaymentsToAcquireAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-4">4,280</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Purchases of property and equipment</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200850" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">3,491</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200851" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">4,407</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Investment in available-for-sale securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200852" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">23,075</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200853" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net cash used in investing activities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200854" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">27,340</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200855" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">8,643</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Cash flows from financing activities</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Proceeds from exercise of common stock options</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200857" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">301</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200858" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">608</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Proceeds from line of credit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200859" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200860" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-5">11,800</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Proceeds from equipment loans</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200861" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200862" contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,282</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Payments on line of credit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200863" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200864" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">12,738</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Fees incurred for registration filings</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200865" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">76</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200866" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Payments on equipment loans</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200867" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember" unitRef="USD" name="us-gaap:RepaymentsOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">247</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200868" contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember" unitRef="USD" name="us-gaap:RepaymentsOfDebt" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Payments on financed insurance premium</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200869" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember" unitRef="USD" name="us-gaap:RepaymentsOfOtherLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">458</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200870" contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember" unitRef="USD" name="us-gaap:RepaymentsOfOtherLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">187</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200871" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200872" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">380</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net cash (used in) provided by financing activities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200873" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">470</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200874" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">385</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net decrease in cash, cash equivalents, and restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200875" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">45,651</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86200876" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">14,160</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash, cash equivalents, and restricted cash &#x2013; beginning of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200877" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-4">69,870</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200878" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">90,456</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effects of currency translation on cash, cash equivalents, and restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86200879" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">190</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86200880" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash, cash equivalents, and restricted cash &#x2013; end of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200881" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">24,029</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86200882" contextRef="i_2021-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">76,299</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-cash investing and financing activities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cashless exercise of warrants reclassified from warrant liability to common stock</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200884" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200885" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">2,901</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255);" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0pt 0pt 0pt 9pt;">Cashless issuance of SciSafe earnout shares</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200886" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" scale="3" format="ixt:numdotdecimal" decimals="-3">816</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200887" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Stock issued as consideration to acquire Global Cooling, Inc.</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200888" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200889" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:numdotdecimal" decimals="-3">232,741</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Equipment acquired under operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200890" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" scale="3" format="ixt:numdotdecimal" decimals="-3">243</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200891" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" scale="3" format="ixt:numdotdecimal" decimals="-3">6,971</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Equipment acquired under finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200892" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200893" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-4">440</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Purchase of property and equipment not yet paid</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200894" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" format="ixt:numdotdecimal" decimals="-3">102</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200895" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash interest paid</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200896" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">121</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86200897" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     8
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="notestounaudited" title="notestounaudited" href="#"></a>BioLife Solutions, Inc.</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Notes to Unaudited Condensed Consolidated Financial Statements</b>&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="c2171265" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">1.</em> Organization and significant accounting policies</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Business</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">BioLife Solutions, Inc. (&#x201c;BioLife&#x201d;, &#x201c;us&#x201d;, &#x201c;we&#x201d;, &#x201c;our&#x201d;, or the &#x201c;Company&#x201d;) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated cell processing fill machines, closed system cryogenic vials, human platelet lysate (&#x201c;hPL&#x201d;) growth media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers and biological and pharmaceutical materials storage. Our CryoStor&#xae; freeze media and HypoThermosol&#xae; hypothermic storage media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes hPL media, for cell expansion reducing risk and improving downstream performance inherent with the use of fetal bovine serum and human serum, and CellSeal&#xae; cryogenic vials, which are purpose-built rigid containers used as a primary final package for cells used in research and clinical applications. These vials can be filled manually or with high throughput systems and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect cells from loss or contamination. Our ThawSTAR&#xae; product line is comprised of a family of automated thawing devices for frozen biologic material packaged in cryovials and cryobags. These products help to reduce thawing related damage to temperature-sensitive biologic materials by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials to be stored at temperatures which range from negative <em style="font: inherit;">20&#x2103;</em> to negative <em style="font: inherit;">86&#x2103;.</em> Our evo&#xae; shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials that can be stored at a wide range of temperatures.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:UseOfEstimates" id="c86203848" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Use of estimates</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#x201c;U.S. GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant estimates and assumptions by management affect the Company&#x2019;s net realizable value of inventory, fair value of warrant liability, valuation of market based awards, valuations and purchase price allocations related to investments and business combinations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, share-based compensation, contingent consideration from business combinations, and the recoverability of the Company&#x2019;s deferred tax assets and the related valuation allowance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="c86203849" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Basis of presentation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements included herein have been prepared by BioLife in accordance with U.S. GAAP and pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;), for Quarterly Reports on Form <em style="font: inherit;">10</em>-Q and Article <em style="font: inherit;">10</em> of Regulation S-<em style="font: inherit;">X</em> and do <em style="font: inherit;">not</em> include all of the information and footnote disclosures required by U.S. GAAP. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company&#x2019;s Annual Report on Form <em style="font: inherit;">10</em>-K as of and for the fiscal year ended <em style="font: inherit;"> December 31, 2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries, SAVSU Technologies, Inc. (&#x201c;SAVSU&#x201d; acquired on <em style="font: inherit;"> August 8, 2019), </em>Arctic Solutions, Inc. doing business as Custom Biogenic Systems (&#x201c;CBS&#x201d; acquired on <em style="font: inherit;"> November 12, 2019), </em>SciSafe Holdings, Inc. (&#x201c;SciSafe&#x201d; acquired on <em style="font: inherit;"> October 1, 2020), </em>BioLife Solutions B.V. (formed on <em style="font: inherit;"> April 1, 2021), </em>Global Cooling, Inc. doing business as Stirling Ultracold (&#x201c;Global Cooling&#x201d; or &#x201c;GCI&#x201d; acquired on <em style="font: inherit;"> May 3, 2021), </em>and Sexton Biotechnologies, Inc. (&#x201c;Sexton&#x201d; acquired on <em style="font: inherit;"> September 1, 2021). </em>All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
    <ix:exclude>
     <div class="PGFTR" style="text-align: center; width: 100%">
      <div class="hf-row">
       <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
        <em style="font: inherit;">9</em>
       </div>
      </div>
     </div>
     <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
     <div class="PGHDR" style="text-align: left; width: 100%">
      <div class="hf-row">
       <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
        <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
       </div>
      </div>
     </div>
    </ix:exclude> <ix:exclude>&#xa0;</ix:exclude> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are <em style="font: inherit;">not</em> necessarily indicative of results to be expected for the entire year.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="c86203850" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Foreign currency translation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheet, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Shareholders&#x2019; Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company&#x2019;s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="c86203851" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Segment reporting</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company views its operations and makes decisions regarding how to allocate resources and manages its business as <em style="font: inherit;">one</em> reportable segment and <em style="font: inherit;">one</em> reporting unit. The Company&#x2019;s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:SignificantAccountingPoliciesPolicyTextBlock" id="c86203928" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Significant accounting policies</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following describes an update to the Company&#x2019;s accounting policies for investments. For a full discussion of significant accounting policies, including additional information regarding the Company&#x2019;s accounting policies for investments, refer to the Notes to the Consolidated Financial Statements included within the Company&#x2019;s <em style="font: inherit;">2021</em> Form <em style="font: inherit;">10</em>-K.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company classifies its investment in marketable debt securities as &#x201c;available-for-sale.&#x201d; Available-for-sale securities are carried at fair value with unrealized holding gains or losses recorded in other comprehensive income, net of tax. Gains or losses are included in earnings in the period in which they are realized. The cost of securities sold is determined based on the specific identification method. The cost of available-for-sale debt securities is adjusted for premiums and discounts, with the accretion or amortization of such amounts included as a portion of interest. Available-for-sale debt securities with an original maturity date less than <em style="font: inherit;">one</em> year are classified as current investments. Available-for-sale debt securities with an original maturity date exceeding <em style="font: inherit;">one</em> year are classified as long-term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:LiquidityAndCapitalResourcesPolicyPolicyTextBlock" id="c86203852" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Liquidity and capital resources</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>we had $<ix:nonFraction id="c86200927" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsAndShortTermInvestments" scale="6" format="ixt:numdotdecimal" decimals="-6">47.0</ix:nonFraction> million and $<ix:nonFraction id="c86200928" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsAndShortTermInvestments" scale="6" format="ixt:numdotdecimal" decimals="-5">69.9</ix:nonFraction> million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next <em style="font: inherit;">twelve</em> months from the date of the filing of this Form <em style="font: inherit;">10</em>-Q. However, the Company <em style="font: inherit;"> may </em>choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be available on reasonable terms, if at all.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:RiskAndUncertaintiesPolicyPolicyTextBlock" id="c86203853" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Risks and uncertainties</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>COVID-<em style="font: inherit;">19</em> pandemic</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our domestic and international operations have been and continue to be affected by the ongoing global pandemic of a novel strain of coronavirus (&#x201c;COVID-<em style="font: inherit;">19&#x201d;</em>) and the resulting volatility and uncertainty it has caused in the U.S. and international markets. Many businesses and countries, including the U.S., continue to apply preventative and precautionary measures to mitigate the spread of the virus including government orders and other restrictions on the conduct of business operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and year ended <em style="font: inherit;"> December 31, 2021, </em>we experienced supply chain disruptions due to the effects of COVID-<em style="font: inherit;">19</em> on our suppliers of sheet metal and electronic components that incorporate semiconductor chips. These supply chain disruptions decreased our profitability as a result of increased supplier pricing and production stoppages. We cannot be assured that a continued or prolonged global pandemic will <em style="font: inherit;">not</em> have other negative impacts on our manufacturing and shipping processes or our product costs. The extent to which the COVID-<em style="font: inherit;">19</em> pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-<em style="font: inherit;">19.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company <em style="font: inherit;"> may </em>also experience other negative impacts of the COVID-<em style="font: inherit;">19</em> outbreak such as the lack of availability of the Company&#x2019;s key personnel, additional temporary closures of the Company&#x2019;s office or the facilities of the Company&#x2019;s business partners, customers, <em style="font: inherit;">third</em> party service providers or other vendors, the inability to travel to market and sell our products, and the interruption of the Company&#x2019;s supply chain, distribution channels, liquidity and capital or financial markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Any disruption and volatility in the global capital markets as a result of the pandemic <em style="font: inherit;"> may </em>increase the Company&#x2019;s cost of capital and adversely affect the Company&#x2019;s ability to access financing when and on terms that the Company desires. In addition, a potential recession resulting from the spread of COVID-<em style="font: inherit;">19</em> could materially affect the Company&#x2019;s business, especially if a recession results in higher unemployment causing potential patients to <em style="font: inherit;">not</em> have access to health insurance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
    <ix:exclude>
     <div class="PGFTR" style="text-align: center; width: 100%">
      <div class="hf-row">
       <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
        <em style="font: inherit;">10</em>
       </div>
      </div>
     </div>
     <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
     <div class="PGHDR" style="text-align: left; width: 100%">
      <div class="hf-row">
       <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
        <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
       </div>
      </div>
     </div>
    </ix:exclude> <ix:exclude>&#xa0;</ix:exclude> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The ultimate extent to which the COVID-<em style="font: inherit;">19</em> pandemic and its repercussions impact the Company&#x2019;s business will depend on future developments, which are highly uncertain. However, the foregoing and other continued disruptions to the Company&#x2019;s business as a result of COVID-<em style="font: inherit;">19</em> could result in a material adverse effect on the Company&#x2019;s business, results of operations, financial condition and cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ConcentrationRiskCreditRisk" id="c86203854" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Concentrations of credit risk and business risk</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant customers are those that represent more than <em style="font: inherit;">10%</em> of the Company&#x2019;s total revenues or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenues and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
    <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="c2171266" escape="true">
     <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accounts Receivable</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revenue</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer A</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201014" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">17</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201015" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">21</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer B</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201018" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">16</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201019" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">11</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201020" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="1">20</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><ix:nonFraction id="c86201021" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="1">20</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
    </ix:nonNumeric> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">* less than <em style="font: inherit;">10%</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Revenue from foreign customers is denominated in United States dollars or euros.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
    <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="c2171389" escape="true">
     <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue by customers</b>&#x2019;<b> geographic locations</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202760" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">75</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202761" contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">82</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202762" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">77</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202763" contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="1">80</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe, Middle East, Africa (EMEA)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202764" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">17</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202765" contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="1">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202766" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">17</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202767" contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">11</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Canada</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202768" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">5</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202769" contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">5</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202770" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202771" contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">6</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202772" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202773" contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202774" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202775" contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202776" contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202777" contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202778" contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202779" contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
</tbody></table>
    </ix:nonNumeric> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021,</em> <em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of purchases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of our accounts payable.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p></ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b></b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="c86203855" escape="true"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Recent accounting pronouncements</b>&#xa0;</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> June 2022, </em>the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">03,</em> <i>Fair Value Measurements (Topic <em style="font: inherit;">820</em>): Fair Value Measurement of Equity Securities Subject to Contractual Sales Restrictions</i>. The FASB issued ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> to (<em style="font: inherit;">1</em>) clarify the guidance in Topic <em style="font: inherit;">820,</em> Fair Value Measurement, when measuring the fair value of an equity security subject to contractual restrictions that prohibit the sale of an equity security, (<em style="font: inherit;">2</em>) to amend a related illustrative example, and (<em style="font: inherit;">3</em>) to introduce new disclosure requirements for equity related securities subject to contractual sale restrictions that are measured at fair value in accordance with Topic <em style="font: inherit;">820.</em> ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> clarifies that a contractual restriction on the sale of an equity security is <em style="font: inherit;">not</em> considered part of the unit of account of the equity security and, therefore, is <em style="font: inherit;">not</em> considered in measuring fair value. The guidance is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2023, </em>and interim periods within those fiscal years with early adoption permitted. BioLife Solutions is evaluating when to adopt the amendments in ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03.</em> BioLife Solutions does <em style="font: inherit;">not</em> expect a material impact as a result of adopting this amendment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2022, </em>the FASB issued ASU <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> <i>Financial Instruments-Credit Losses (Topic <em style="font: inherit;">326</em>): Troubled Debt Restructurings and Vintage Disclosures</i>. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> eliminates the accounting guidance for troubled debt restructurings and requires disclosure of current-period gross write-offs by year of loan origination. Additionally, ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> updates the accounting for credit losses under ASC <em style="font: inherit;">326</em> and adds enhanced disclosures with respect to loan refinancings and restructurings in the form of principal forgiveness, interest rate concessions, other-than-insignificant payment delays, or term extensions when the borrower is experiencing financial difficulties. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2022 </em>and early adoption is permitted. We are currently evaluating the impact ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> will have on our consolidated financial statements.</p></ix:nonNumeric>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"></p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       11
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:FairValueDisclosuresTextBlock" id="c2171268" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">2.</em></b> <b>Fair value measurement</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In accordance with FASB ASC Topic <em style="font: inherit;">820,</em> <i>Fair Value Measurements and Disclosures</i>, (&#x201c;ASC Topic <em style="font: inherit;">820&#x201d;</em>), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level <em style="font: inherit;">1</em> or Level <em style="font: inherit;">2</em> in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level <em style="font: inherit;">2</em> in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting. ASC Topic <em style="font: inherit;">820</em> clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic <em style="font: inherit;">820</em> establishes a <em style="font: inherit;">three</em>-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">1</em> &#x2013; Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">2</em> &#x2013; Observable inputs other than quoted prices included in Level <em style="font: inherit;">1</em> for similar assets or liabilities, quoted prices in markets that are <em style="font: inherit;">not</em> active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">3</em> &#x2013; Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of the CBS Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of <ix:nonFraction id="c86201056" contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="2">26.0</ix:nonFraction>%, a risk-free rate of approximately <ix:nonFraction id="c86201057" contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="4">1.74</ix:nonFraction>% and revenue volatility of <ix:nonFraction id="c86201058" contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="1">70</ix:nonFraction>%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would <em style="font: inherit;">not</em> affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. Subsequent to the acquisition date, at each reporting period, the Contingent Consideration Liability is re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of <em style="font: inherit;"> December 31, 2021, </em>the Company used a discount rate of <ix:nonFraction id="c86201060" contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="2">21.0</ix:nonFraction>%, a risk-free rate of <ix:nonFraction id="c86201061" contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="4">0.23</ix:nonFraction>% and revenue volatility of <ix:nonFraction id="c86201062" contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="2">63</ix:nonFraction>%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021 </em>in the amount of $<ix:nonFraction id="c86201063" contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="0" format="ixt:numdotdecimal" decimals="INF">140,000</ix:nonFraction>.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of the SciSafe Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of <ix:nonFraction id="c86201064" contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="3">4.5</ix:nonFraction>%, a risk-free rate of approximately <ix:nonFraction id="c86201065" contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="3">0.20</ix:nonFraction>%, asset volatility of <ix:nonFraction id="c86201066" contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="1">60</ix:nonFraction>%, and revenue volatility of <ix:nonFraction id="c86201067" contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="-2" format="ixt:numdotdecimal" decimals="2">15</ix:nonFraction>%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would <em style="font: inherit;">not</em> affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $<ix:nonFraction id="c86201069" contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="6" format="ixt:numdotdecimal" decimals="-5">3.7</ix:nonFraction> million. Subsequent to the acquisition date, the Contingent Consideration Liability was re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of <em style="font: inherit;"> June 30, 2022, </em>the Company used a discount rate of <ix:nonFraction id="c86201070" contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="0" format="ixt:numdotdecimal" decimals="INF">11.0</ix:nonFraction>%, a risk-free rate of approximately <ix:nonFraction id="c86201071" contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="0" format="ixt:numdotdecimal" decimals="INF">2.9</ix:nonFraction>%, asset volatility of <ix:nonFraction id="c86201072" contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="0" format="ixt:numdotdecimal" decimals="INF">69</ix:nonFraction>%, and revenue volatility of <ix:nonFraction id="c86201073" contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember" unitRef="Pure" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" scale="0" format="ixt:numdotdecimal" decimals="INF">30</ix:nonFraction>%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021 </em>in the amounts of $<ix:nonFraction id="c86201074" contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="6" format="ixt:numdotdecimal" decimals="-5">3.4</ix:nonFraction> million and $<ix:nonFraction id="c86201075" contextRef="i_2021-12-31_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="6" format="ixt:numdotdecimal" decimals="-5">9.9</ix:nonFraction> million, respectively. The changes in fair value of contingent consideration associated with this liability are included within the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. These changes were $<ix:nonFraction id="c86201076" contextRef="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="6" format="ixt:numdotdecimal" decimals="-5">2.4</ix:nonFraction> million and $<ix:nonFraction id="c86201077" contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="6" format="ixt:numdotdecimal" decimals="-5">5.7</ix:nonFraction> million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201080" contextRef="d_2021-04-06_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="6" format="ixt:numdotdecimal" decimals="-5">1.8</ix:nonFraction> million and $<ix:nonFraction id="c86201081" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="6" format="ixt:numdotdecimal" decimals="-5">1.3</ix:nonFraction> million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> month periods ended <em style="font: inherit;"> June 30, 2021, </em>respectively. During the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the <em style="font: inherit;">first</em> hurdle associated with this liability was satisfied and <ix:nonFraction id="c86201087" contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember" unitRef="Share" name="blfs:BusinessCombinationContingentConsiderationStockIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">64,130</ix:nonFraction> shares were issued as payment.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">For the warrant liability, the significant Level <em style="font: inherit;">3</em> inputs included the contractual remaining term of the warrants and the volatility of the Company&#x2019;s common stock. For the estimated term of the warrants, we used the actual terms of the warrants, which expired <em style="font: inherit;"> March 25, 2021. </em>On that date, all remaining warrants were exercised via a &#x201c;cashless&#x201d; exercise and the warrant liability was revalued to its intrinsic value, as the Company&#x2019;s stock price was observable as of that date.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">12</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">There were <em style="font: inherit;">no</em> remeasurements to fair value during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>of financial assets and liabilities that are <em style="font: inherit;">not</em> measured at fair value on a recurring basis.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following tables set forth the Company&#x2019;s financial assets and liabilities measured at fair value on a recurring basis as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>based on the <em style="font: inherit;">three</em>-tier fair value hierarchy:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>(In thousands)</b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="c3CFF6237-5974-490B-9170-D302B3825467" escape="true" continuedAt="c0D18F199-0953-4D7B-9E1E-569EE58E7DA8">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of June 30, 2022</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash equivalents:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201111" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">17,086</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201112" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201113" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201114" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">17,086</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201115" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201116" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">2,242</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201117" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201118" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">2,242</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Non-U.S. government agency securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201119" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201120" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">748</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201121" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201122" contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">748</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Marketable debt securities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">U.S. government securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201124" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">10,335</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201125" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201126" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201127" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">10,335</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201128" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201129" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">11,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201130" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201131" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">11,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201132" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201133" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">1,185</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201134" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201135" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">1,185</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201136" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">27,421</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201137" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-4">15,690</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201138" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201139" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">43,111</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201141" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201142" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201143" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">3,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201144" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">3,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201145" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201146" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,551</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201147" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201148" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,551</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201149" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201150" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">7,551</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201151" contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">3,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201152" contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">11,066</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="margin: 0pt;">&#xa0;</p>
   <ix:continuation id="c0D18F199-0953-4D7B-9E1E-569EE58E7DA8">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 1</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 2</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 3</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201154" contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">63,873</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201155" contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201156" contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201157" contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">63,873</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201158" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">63,873</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201159" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201160" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201161" contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:AssetsFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">63,873</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201163" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201164" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201165" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">10,027</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201166" contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">10,027</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201167" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201168" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,215</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201169" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201170" contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LongTermDebtFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,215</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201171" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201172" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">7,215</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201173" contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">10,027</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201174" contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" unitRef="USD" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" format="ixt:numdotdecimal" decimals="-3">17,242</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair values of money market funds classified as Level <em style="font: inherit;">1</em> were derived from quoted market prices as active markets for these instruments exist. The fair values of investments and contingent consideration classified as Level <em style="font: inherit;">3</em> were derived from management assumptions (see Note <em style="font: inherit;">1</em> &#x2013; &#x201c;<i>Organization and Significant Accounting Policies.</i>&#x201d;) There have been <em style="font: inherit;">no</em> transfers of assets or liabilities between the fair value measurement levels.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents the changes in fair value of contingent consideration liabilities which are measured using Level <em style="font: inherit;">3</em> inputs:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="c2171271" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201175" contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:numdotdecimal" decimals="-3">10,027</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201176" contextRef="i_2020-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,152</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201177" contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,695</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201178" contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" scale="3" format="ixt:numdotdecimal" decimals="-3">1,226</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Payment of contingent consideration earned</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201179" contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">817</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201180" contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201181" contextRef="i_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3,515</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201182" contextRef="i_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:numdotdecimal" decimals="-3">8,378</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents the changes in fair value of warrant liabilities which are measured using Level <em style="font: inherit;">3</em> inputs:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="c2171272" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201183" contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201184" contextRef="i_2020-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:numdotdecimal" decimals="-4">2,780</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised warrants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201185" contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201186" contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" scale="3" format="ixt:numdotdecimal" decimals="-3">2,901</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201187" contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201188" contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" scale="3" format="ixt:numdotdecimal" decimals="-3">121</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201189" contextRef="i_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201190" contextRef="i_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember" unitRef="USD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       13
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:InvestmentTextBlock" id="c2171273" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">3.</em> Investments</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Available-for-sale securities</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#x2019;s portfolio of available-for-sale marketable securities consists of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock" id="c663E0FEC-8BB7-47B8-8749-5F0601FDB295" escape="true" continuedAt="E02B4858-4021-4107-8CB5-2D6B075E2504">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross unrealized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gains</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Losses</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, current portion</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">U.S. government securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201198" contextRef="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">10,361</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201200" contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">26</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201201" contextRef="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">10,335</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201202" contextRef="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">11,524</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201204" contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">8</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201205" contextRef="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">11,516</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201206" contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">699</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201208" contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201209" contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">695</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total short-term</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201210" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">22,584</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201212" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">38</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201213" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">22,546</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, long-term</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201215" contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">491</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201217" contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="blfs:DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">2</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201218" contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">489</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201219" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" format="ixt:numdotdecimal" decimals="-3">23,075</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201221" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-4">40</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201222" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">23,035</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">There were <em style="font: inherit;">no</em> outstanding available-for-sale marketable securities as of <em style="font: inherit;"> December 31, 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The contractual maturities of our available-for-sale marketable securities as of <em style="font: inherit;"> June 30, 2022 </em>are as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="E02B4858-4021-4107-8CB5-2D6B075E2504">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201223" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">22,584</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201224" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">22,546</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201225" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">491</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201226" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">489</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201227" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" format="ixt:numdotdecimal" decimals="-3">23,075</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201228" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">23,035</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Equity investments</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We periodically invest in securities of private companies to promote business and strategic objectives. At <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>we held non-marketable equity securities without a readily determinable fair value, comprised of $<ix:nonFraction id="c86201193" contextRef="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember" unitRef="USD" name="us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" scale="6" format="ixt:numdotdecimal" decimals="-5">3.4</ix:nonFraction> million in Series A-<em style="font: inherit;">1</em> and A-<em style="font: inherit;">2</em> Preferred Stock in iVexSol, Inc. and $<ix:nonFraction id="c86201196" contextRef="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesEPreferredStockMember" unitRef="USD" name="us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">995,000</ix:nonFraction> in Series E Preferred Stock in PanTHERA CryoSolutions, Inc.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:InventoryDisclosureTextBlock" id="c2171276" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">4.</em> Inventory</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Inventory consists of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="c2171277" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Raw materials</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201230" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">18,457</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201231" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">17,252</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Work in progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201232" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">4,791</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201233" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">5,015</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finished goods</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201234" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">10,087</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201235" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">6,078</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201236" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">33,335</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201237" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">28,345</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       14
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:LesseeLeasesTextBlock" id="c2171278" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">5.</em> Leases</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We have various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases have remaining lease terms of <em style="font: inherit;"><span style="-sec-ix-hidden:c86201240">one</span></em> to <span style="-sec-ix-hidden:c86201241">ten</span> years. We exclude options that are <em style="font: inherit;">not</em> reasonably certain to be exercised from our lease terms, ranging from <em style="font: inherit;">one</em> to <em style="font: inherit;">five</em> years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases have terms between <em style="font: inherit;"><span style="-sec-ix-hidden:c86201246">one</span></em> and <span style="-sec-ix-hidden:c86201247">five</span> years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our financing leases relate to research equipment, machinery, and other equipment.&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company&#x2019;s leases as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" id="c2171279" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201253" contextRef="i_2022-06-30" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">3.8</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201254" contextRef="i_2021-12-31" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">3.8</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201255" contextRef="i_2022-06-30" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">6.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201256" contextRef="i_2021-12-31" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">6.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-06-30" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c86201257" format="ixt-sec:duryear">7.5</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2021-12-31" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c86201258" format="ixt-sec:duryear">7.8</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-06-30" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c86201259" format="ixt-sec:duryear">2.5</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2021-12-31" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c86201260" format="ixt-sec:duryear">3.0</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The components of lease expense for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> were as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:LeaseCostTableTextBlock" id="c2171280" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201261" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">929</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201262" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">679</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201263" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">1,836</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201264" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">1,154</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Short-term lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201265" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">519</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201266" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-4">450</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201267" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">986</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201268" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">661</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201269" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:OperatingLeaseCostsAndShorttermLeaseCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,448</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201270" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:OperatingLeaseCostsAndShorttermLeaseCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,129</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201271" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:OperatingLeaseCostsAndShorttermLeaseCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">2,822</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201272" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:OperatingLeaseCostsAndShorttermLeaseCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,815</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Variable lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201273" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:VariableLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">254</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201274" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:VariableLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">157</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201275" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:VariableLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">559</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201276" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:VariableLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">284</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201277" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">1,702</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201278" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">1,286</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201279" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">3,381</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201280" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">2,099</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Maturities of our lease liabilities as of <em style="font: inherit;"> June 30, 2022 </em>are as follows:&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="c2171281" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Financing</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201281" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" format="ixt:numdotdecimal" decimals="-3">1,756</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201282" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" format="ixt:numdotdecimal" decimals="-3">86</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201283" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">3,199</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201284" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">171</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201285" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">2,921</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201286" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">101</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201287" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">2,461</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201288" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">37</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201289" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">2,001</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201290" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201291" contextRef="i_2022-06-30" unitRef="USD" name="blfs:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">8,364</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201292" contextRef="i_2022-06-30" unitRef="USD" name="blfs:FinanceLeaseLiabilityPaymentsDueAfterYearFour" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total lease payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201293" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-3">20,702</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201294" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-3">396</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: interest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201295" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">2,764</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201296" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">30</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total present value of lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201297" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">17,938</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201298" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">366</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       15
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:AssetsHeldForRentTextBlock" id="c2171282" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">6.</em></b> <b>Assets held for rent</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Assets held for rent consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:ScheduleOfAssetsHeldForRentTableTextBlock" id="c2171283" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers placed in service</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201309" contextRef="i_2022-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceGross" scale="3" format="ixt:numdotdecimal" decimals="-3">6,274</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201310" contextRef="i_2021-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceGross" scale="3" format="ixt:numdotdecimal" decimals="-3">5,645</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Fixed assets held for rent</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201311" contextRef="i_2022-06-30" unitRef="USD" name="blfs:FixedAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,686</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201312" contextRef="i_2021-06-30" unitRef="USD" name="blfs:FixedAssetsHeldForRent" scale="3" format="ixt:numdotdecimal" decimals="-4">4,040</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201313" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,737</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201314" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,272</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201315" contextRef="i_2022-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceNet" scale="3" format="ixt:numdotdecimal" decimals="-3">7,223</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201316" contextRef="i_2021-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceNet" scale="3" format="ixt:numdotdecimal" decimals="-3">7,413</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers and related components in production</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201317" contextRef="i_2022-06-30" unitRef="USD" name="blfs:ShippersAndRelatedComponentsInProduction" scale="3" format="ixt:numdotdecimal" decimals="-4">1,860</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201318" contextRef="i_2021-06-30" unitRef="USD" name="blfs:ShippersAndRelatedComponentsInProduction" scale="3" format="ixt:numdotdecimal" decimals="-3">2,396</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201319" contextRef="i_2022-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">9,083</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201320" contextRef="i_2021-06-30" unitRef="USD" name="blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">9,809</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $<ix:nonFraction id="c86201300" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:AssetsHeldForRentDepreciation" scale="0" format="ixt:numdotdecimal" decimals="INF">868,000</ix:nonFraction> and $<ix:nonFraction id="c86201301" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:AssetsHeldForRentDepreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">1.8</ix:nonFraction> million in depreciation expense related to assets held for rent during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201304" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:AssetsHeldForRentDepreciation" scale="0" format="ixt:numdotdecimal" decimals="INF">299,000</ix:nonFraction> and $<ix:nonFraction id="c86201305" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:AssetsHeldForRentDepreciation" scale="0" format="ixt:numdotdecimal" decimals="INF">483,000</ix:nonFraction> during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" id="c2171284" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">7.</em> Property and equipment</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="c2171285" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Leasehold improvements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201331" contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">4,049</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201332" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-4">3,840</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Furniture and computer equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201333" contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,878</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201334" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,861</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Manufacturing and other equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201335" contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">18,047</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201336" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">16,675</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Construction in-progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201337" contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-4">2,990</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201338" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">2,022</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201339" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">26,964</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201340" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">24,398</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201341" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">7,847</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201342" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">6,741</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;">Property and equipment, net</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201343" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">19,117</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201344" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">17,657</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Depreciation expense for property and equipment was $<ix:nonFraction id="c86201322" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="0" format="ixt:numdotdecimal" decimals="INF">730,000</ix:nonFraction> and $<ix:nonFraction id="c86201323" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">1.5</ix:nonFraction> million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201326" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="0" format="ixt:numdotdecimal" decimals="INF">819,000</ix:nonFraction> and $<ix:nonFraction id="c86201327" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">1.4</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="c2171286" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">8.</em> Goodwill and intangible assets</b>&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Goodwill</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is <em style="font: inherit;">not</em> amortized, but instead is tested for impairment at least annually in accordance with ASC <em style="font: inherit;">350.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Intangible assets</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Intangible assets, net consisted of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="c0C158769-F555-43B6-BAD7-2BB22A5C6164" escape="true" continuedAt="c58B476B1-B9DE-4213-8FA2-46A4E0560B6E">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Useful Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201379" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">15,984</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201380" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">2,976</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201381" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">13,008</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201382" format="ixt-sec:duryear">9.8</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201383" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">29,635</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201384" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">3,571</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201385" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">26,064</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201386" format="ixt-sec:duryear">13.3</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201387" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">38,410</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201388" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">10,766</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201389" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">27,644</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201390" format="ixt-sec:duryear">5.4</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201391" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,986</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201392" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">725</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201393" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,261</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201394" format="ixt-sec:duryear">2.5</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#x207d;&#xb9;&#x207e;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201395" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">8,547</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201397" contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">8,547</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201399" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">94,562</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86201400" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">18,038</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201401" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">76,524</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201402" format="ixt-sec:duryear">9.2</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">16</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <ix:continuation id="c58B476B1-B9DE-4213-8FA2-46A4E0560B6E">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="10" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated<br /> Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying<br /> Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted<br /> Average Useful<br /> Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201403" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">17,516</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201404" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,776</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201405" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">15,740</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201406" format="ixt-sec:duryear">10.3</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201407" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">35,574</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201408" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">2,306</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201409" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">33,268</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201410" format="ixt-sec:duryear">13.8</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201411" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">41,942</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201412" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">7,789</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201413" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">34,153</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201414" format="ixt-sec:duryear">5.9</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201415" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">1,990</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201416" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">442</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201417" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,548</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201418" format="ixt-sec:duryear">3.0</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#x207d;&#xb9;&#x207e;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201419" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">67,440</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201420" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201421" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">67,440</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201423" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">164,462</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86201424" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">12,313</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201425" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">152,149</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_RangeAxis-WeightedAverageMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201426" format="ixt-sec:duryear">9.8</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">(<em style="font: inherit;">1</em>) In-process R&amp;D represents the fair value of incomplete research and development. We will begin to amortize the asset upon completion of development.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization expense for definite-lived intangible assets was $<ix:nonFraction id="c86201350" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">2.9</ix:nonFraction> million and $<ix:nonFraction id="c86201351" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">5.7</ix:nonFraction> million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201354" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">1.9</ix:nonFraction> million and $<ix:nonFraction id="c86201355" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">2.8</ix:nonFraction> million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>the Company expects to record the following amortization expense for definite-lived intangible assets:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="c2171289" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Years Ending December 31,</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Expense</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201427" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" scale="3" format="ixt:numdotdecimal" decimals="-3">5,005</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201428" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-4">9,570</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201429" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">8,745</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201430" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">8,398</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201431" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">7,975</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201432" contextRef="i_2022-06-30" unitRef="USD" name="blfs:FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">28,284</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201433" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">67,977</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Interim impairment testing as of <em style="font: inherit;"> June 30, 2022</em></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the Company experienced a significant decline in its market capitalization. In <em style="font: inherit;"> July 2022, </em>the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these <em style="font: inherit;">three</em> events constituted interim triggering events that required further analysis with respect to potential impairment to goodwill, indefinite-lived intangibles, and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the <em style="font: inherit;"> June 30, 2022 </em>balance sheet date.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">To assess any potential impairment of goodwill, the Company compared the carrying value of its single reporting unit against its market capitalization, noting that the market capitalization exceeded the carrying value. As such, goodwill was <em style="font: inherit;">not</em> impaired as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The abandonment of the aforementioned in-process research and development project resulted in a $<ix:nonFraction id="c86201361" contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-AbandonedInProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-6">8.0</ix:nonFraction> million non-cash impairment charge during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2022 </em>in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the entirety of the asset&#x2019;s carrying value.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In order to determine the fair value of our in-process research and development intangible assets <em style="font: inherit;">not</em> related to the abandoned project, the Company utilized an average of a discounted cash flow analysis and comparable public company analysis. The key assumptions associated with determining the estimated fair value include projected future revenue growth rates, earnings before interest, taxes, depreciation and amortization ("EBITDA") margins, the terminal growth rate, and the discount rate. As a result of the changes in these assumptions, we recognized a $<ix:nonFraction id="c86201364" contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">50.9</ix:nonFraction> million non-cash impairment charge during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2022 </em>in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#x2019;s in-process research and development intangible assets and their carrying value. The carrying value of these assets prior to the impairment charge was $<ix:nonFraction id="c86201366" contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" format="ixt:numdotdecimal" decimals="-5">59.4</ix:nonFraction> million.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">17</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In order to determine the fair value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, the Company utilized the excess earnings approach, distributor method, relief from royalty method, and with and without approach, respectively. The key assumptions associated with determining the estimated fair value include (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset. As a result of the analysis, we recognized non-cash impairment charges of $<ix:nonFraction id="c86201368" contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">3.5</ix:nonFraction> million, $<ix:nonFraction id="c86201369" contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">1.5</ix:nonFraction> million, $<ix:nonFraction id="c86201370" contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">5.9</ix:nonFraction> million, and $<ix:nonFraction id="c86201371" contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" scale="0" format="ixt:numdotdecimal" decimals="INF">4,000</ix:nonFraction> during the period ended <em style="font: inherit;"> June 30, 2022 </em>for the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, respectively, in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#x2019;s definite-lived intangible assets and their carrying values. The carrying value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets were $<ix:nonFraction id="c86201372" contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" format="ixt:numdotdecimal" decimals="-5">31.2</ix:nonFraction> million, $<ix:nonFraction id="c86201373" contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" format="ixt:numdotdecimal" decimals="-5">14.5</ix:nonFraction> million, $<ix:nonFraction id="c86201374" contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" format="ixt:numdotdecimal" decimals="-6">32.0</ix:nonFraction> million, and $<ix:nonFraction id="c86201375" contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" format="ixt:numdotdecimal" decimals="-5">1.3</ix:nonFraction> million respectively prior to the impairment charges.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value determinations require considerable judgment and are sensitive to changes in underlying assumptions, estimates and market factors. Estimating the fair value of the Company&#x2019;s reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets requires us to make assumptions and estimates regarding our future plans, as well as industry, economic, and regulatory conditions. These assumptions and estimates include projected future revenue growth rates, EBITDA margins, terminal growth rates, discount rates, royalty rates and other market factors. If current expectations of future growth rates, margins and cash flows are <em style="font: inherit;">not</em> met, or if market factors outside of our control change significantly, then our reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets might become impaired in the future, negatively impacting our operating results and financial position. As the carrying amounts of the Company&#x2019;s indefinite-lived and definite-lived intangible assets were impaired as of <em style="font: inherit;"> June 30, 2022 </em>and written down to fair value, those amounts are more susceptible to an impairment risk if there are unfavorable changes in assumptions and estimates.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" id="c2171290" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">9.</em> Accrued expenses and other current liabilities</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Accrued expenses and other current liabilities consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:OtherCurrentLiabilitiesTableTextBlock" id="c2171291" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued compensation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201435" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DeferredCompensationLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,638</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201436" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredCompensationLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,351</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201437" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,954</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201438" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,656</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred revenue, current</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201439" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">431</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201440" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">814</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201441" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">33</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201442" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">27</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201443" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:OtherLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">131</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201444" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">294</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued expenses and other current liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201445" contextRef="i_2022-06-30" unitRef="USD" name="blfs:AccruedExpensesAndOtherCurrentLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">7,187</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201446" contextRef="i_2021-12-31" unitRef="USD" name="blfs:AccruedExpensesAndOtherCurrentLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">7,142</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="c2171292" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">10.</em> Warranty reserve liability</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We reserve estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">A rollforward of our warranty liability is as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="c2171293" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201448" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">9,398</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201449" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">212</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Warranty reserve acquired in the acquisition of Global Cooling</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201450" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201451" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition" scale="3" format="ixt:numdotdecimal" decimals="-3">3,353</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Provision for warranties</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201452" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">1,514</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201453" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-4">610</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Settlements of warranty claims</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201454" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" format="ixt:numdotdecimal" decimals="-4">2,190</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201455" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">761</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending Balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201456" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">8,722</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201457" contextRef="i_2021-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">3,414</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       18
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:LongTermDebtTextBlock" id="c2171294" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">11.</em> Long-term debt</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt consisted of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfDebtTableTextBlock" id="c2171295" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 42.1%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 12.9%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Maturity Date</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Interest Rate</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 1</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Sep-24</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201464" contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">4.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201465" contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">1,750</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201466" contextRef="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan1Member" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">1,750</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 2</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201468" contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">4.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201469" contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">2,896</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201470" contextRef="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan2Member" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">2,813</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Insurance premium financing</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Apr-23</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201472" contextRef="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">5.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201473" contextRef="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">869</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201474" contextRef="i_2021-12-31_DebtInstrumentAxis-FinancedInsurancePremiumMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">373</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer equipment loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Dec-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201476" contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.7</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201477" contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">537</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201478" contextRef="i_2021-12-31_DebtInstrumentAxis-FreezerEquipmentLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">612</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Manufacturing equipment loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Oct-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201480" contextRef="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.7</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201481" contextRef="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">311</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201482" contextRef="i_2021-12-31_DebtInstrumentAxis-ManufacturingEquipmentLoansMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">355</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer installation loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201484" contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">6.3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201485" contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">1,208</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201486" contextRef="i_2021-12-31_DebtInstrumentAxis-FreezerInstallationLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">1,334</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201489" contextRef="i_2022-06-30_DebtInstrumentAxis-OtherLoansMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">7</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201490" contextRef="i_2021-12-31_DebtInstrumentAxis-OtherLoansMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">9</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt, excluding unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201493" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">7,578</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201494" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">7,246</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201497" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">27</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201498" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">31</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201501" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">7,551</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201502" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">7,215</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: current portion</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201505" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,363</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201506" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">862</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total long-term debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201509" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,188</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201510" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,353</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The <em style="font: inherit;">2022</em> term loans are secured by substantially all assets of Global Cooling. Equipment loans are secured by the financed equipment.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">As of <em style="font: inherit;"> June 30, 2022, </em>the scheduled maturities of loans payable for each of the next <em style="font: inherit;">five</em> years and thereafter were as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="c2171296" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201511" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" scale="3" format="ixt:numdotdecimal" decimals="-3">759</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201512" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">1,165</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201513" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">2,294</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201514" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">543</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201515" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">221</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201516" contextRef="i_2022-06-30" unitRef="USD" name="blfs:LongtermDebtMaturityAfterYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">2,596</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt, excluding unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201517" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">7,578</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Less: unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201518" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">27</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201519" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">7,551</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:WarrantsTextBlock" id="c2171297" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">12.</em> Warrants</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2014, </em>pursuant to a registered public offering and note conversion agreement with certain note holders, the Company issued warrants to purchase <ix:nonFraction id="c86201521" contextRef="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" scale="0" format="ixt:numdotdecimal" decimals="INF">6,910,283</ix:nonFraction> shares of common stock at $<ix:nonFraction id="c86201522" contextRef="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:numdotdecimal" decimals="INF">4.75</ix:nonFraction> per share. The warrants had an original expiration date of <em style="font: inherit;"> March 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> May 2016, </em>in connection with a credit facility, the Company issued a warrant to purchase <ix:nonFraction id="c86201523" contextRef="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" scale="0" format="ixt:numdotdecimal" decimals="INF">550,000</ix:nonFraction> shares of common stock at $<ix:nonFraction id="c86201524" contextRef="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:numdotdecimal" decimals="INF">1.75</ix:nonFraction> per share. The warrant was immediately exercisable and had an original expiration date of <em style="font: inherit;"> May 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> May 2020, </em>the Company entered into separate warrant exercise agreements with WAVI Holding AG and <em style="font: inherit;">Taurus4757</em> GmbH pursuant to which the warrant holders immediately exercised their respective warrants via a &#x201c;cashless&#x201d; exercise as agreed to by the Company. As a result of the cashless exercise, the Company issued an aggregate of <ix:nonFraction id="c86201526" contextRef="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises" scale="0" format="ixt:numdotdecimal" decimals="INF">2,747,970</ix:nonFraction> shares of Company common stock upon cashless exercise of an aggregate of <ix:nonFraction id="c86201527" contextRef="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember" unitRef="Share" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">3,871,405</ix:nonFraction> warrants.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2021, </em>all remaining outstanding warrants were exercised via a &#x201c;cashless&#x201d; exercise. As a result of the cashless exercise, the Company issued an aggregate of <ix:nonFraction id="c86201528" contextRef="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember" unitRef="Share" name="blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises" scale="0" format="ixt:numdotdecimal" decimals="INF">70,030</ix:nonFraction> shares of Company common stock upon cashless exercise of an aggregate of <ix:nonFraction id="c86201529" contextRef="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember" unitRef="Share" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">79,100</ix:nonFraction> warrants.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes warrant activity for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" id="c2171298" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="7" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td colspan="5" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>2021</b></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br /> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br /> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201534" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201535" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201536" contextRef="i_2020-12-31" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">79,100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201537" contextRef="i_2020-12-31" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:numdotdecimal" decimals="INF">4.75</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201538" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriod" scale="0" format="ixt:zerodash" decimals="INF" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201539" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201540" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">79,100</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201541" contextRef="d_2021-01-01_2021-06-30" unitRef="USDPerShare" name="blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">4.75</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201542" contextRef="i_2022-06-30" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201543" contextRef="i_2022-06-30" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201544" contextRef="i_2021-06-30" unitRef="Share" name="us-gaap:ClassOfWarrantOrRightOutstanding" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201545" contextRef="i_2021-06-30" unitRef="USDPerShare" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       19
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="c2171299" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">13.</em> Revenue</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">To determine revenue recognition for contractual arrangements that we determine are within the scope of Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Topic <em style="font: inherit;">606,</em> <i>Revenue from Contracts with Customers</i>, we perform the following <em style="font: inherit;">five</em> steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the <em style="font: inherit;">five</em>-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers <em style="font: inherit;"> may </em>contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is <em style="font: inherit;">not</em> observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within <em style="font: inherit;">30</em> to <em style="font: inherit;">90</em> days. During the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the Company recognized approximately $<ix:nonFraction id="c86201555" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="0" format="ixt:numdotdecimal" decimals="INF">382,000</ix:nonFraction> and $<ix:nonFraction id="c86201556" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="0" format="ixt:numdotdecimal" decimals="INF">456,000</ix:nonFraction>, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph <em style="font: inherit;">606</em>-<em style="font: inherit;">10</em>-<em style="font: inherit;">32</em>-<em style="font: inherit;">18,</em> the Company does <em style="font: inherit;">not</em> assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is <em style="font: inherit;">one</em> year or less. <em style="font: inherit;">None</em> of the Company&#x2019;s contracts contained a significant financing component as of and during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its storage and storage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is <em style="font: inherit;">not</em> within the scope of FASB ASC Topic <em style="font: inherit;">606</em> as it is within the scope of FASB ASC Topic <em style="font: inherit;">842,</em><i> Lease</i>s. All customers leasing shippers currently do so under month-to-month rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company enters into various customer service agreements (collectively, &#x201c;Service Contracts&#x201d;) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of <em style="font: inherit;">one</em> customer. This is primarily driven by the customer&#x2019;s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements <em style="font: inherit;"> may </em>include extension and termination clauses. These Service Contracts do <em style="font: inherit;">not</em> allow for customers to purchase the underlying assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (&#x201c;Embedded Leases&#x201d;), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company&#x2019;s property, plant, and equipment or operating right-of-use assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under ASC <em style="font: inherit;">842,</em> consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><em style="font: inherit;">None</em> of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. <em style="font: inherit;">None</em> of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">20</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Embedded Leases <em style="font: inherit;"> may </em>contain both lease and non-lease components. We have elected to utilize the practical expedient to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company&#x2019;s rental arrangements include reimbursements of lessor costs.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total bioproduction tools and services revenue for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> were comprised of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="blfs:RevenuesByProductLineTableTextBlock" id="c2171300" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Freezer and thaw</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201585" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">18,670</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201586" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">17,564</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201587" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">34,005</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201588" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">22,411</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cell processing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201589" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">15,356</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201590" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">9,699</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201591" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">30,254</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201592" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">18,626</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><ix:nonFraction id="c86201593" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">144</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><ix:nonFraction id="c86201594" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">205</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><ix:nonFraction id="c86201595" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">299</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;" class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted"><ix:nonFraction id="c86201596" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">207</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201598" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,698</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201599" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,963</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201600" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">6,787</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201601" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,167</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201603" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,665</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201604" contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,773</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201605" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">5,407</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201606" contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">2,640</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201607" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">40,533</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201608" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">31,204</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201609" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">76,752</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201610" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">48,051</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table includes estimated rental revenue expected to be recognized in the future related to embedded leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing <em style="font: inherit;">not</em> to disclose the value of the remaining unsatisfied performance obligation with a duration of <em style="font: inherit;">one</em> year or less as permitted by the practical expedient in ASU <em style="font: inherit;">2014</em>-<em style="font: inherit;">09,</em> <i>Revenue from Contracts with Customers</i>. The estimated revenue in the following table does <em style="font: inherit;">not</em> include contracts with the original durations of <em style="font: inherit;">one</em> year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" id="c2171367" escape="true">
    <table class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;" cellspacing="0" cellpadding="0" border="0"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Year Ending December 31,</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022 (6 months<br /> remaining)</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2024</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203880" contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">3,901</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203881">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203882" contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">3,735</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203883">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203884" contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-5">900</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203885">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203886" contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">8,536</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203887" contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">151</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203888">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203889" contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">188</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203890">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203891" contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203892">&#xa0;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86203893" contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">349</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="c2171302" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">14.</em></b> <b>Share-based compensation </b>&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Service vesting-based stock options</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of service vesting-based stock option activity for the <em style="font: inherit;"> June 30, 2022, </em>and the status of service vesting-based stock options outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="c2171303" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br /> Exercise Price</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201819" contextRef="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">624,531</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201820" contextRef="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">2.13</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201821" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">154,504</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201822" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">1.95</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201823" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">470,027</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201824" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">2.19</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options exercisable as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201825" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">470,027</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201826" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">2.19</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">21</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense related to service-based options of <span style="-sec-ix-hidden:c86201627">zero</span> during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and $<ix:nonFraction id="c86201631" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="INF">6,000</ix:nonFraction> and $<ix:nonFraction id="c86201632" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="INF">15,000</ix:nonFraction> during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $<ix:nonFraction id="c86201635" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="6" format="ixt:numdotdecimal" decimals="-5">5.5</ix:nonFraction> million of aggregate intrinsic value of outstanding and exercisable service vesting-based stock options. Intrinsic value is the total pretax intrinsic value for all &#x201c;in-the-money&#x201d; options (i.e., the difference between the Company&#x2019;s closing stock price on the last trading day of the year and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on <em style="font: inherit;"> June 30, 2022. </em>This amount will change based on the fair market value of the Company&#x2019;s stock. Intrinsic value of service vesting-based awards exercised was $<ix:nonFraction id="c86201636" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" format="ixt:numdotdecimal" decimals="INF">390,000</ix:nonFraction> and $<ix:nonFraction id="c86201637" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" format="ixt:numdotdecimal" decimals="-5">3.9</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201640" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" format="ixt:numdotdecimal" decimals="INF">475,000</ix:nonFraction> and $<ix:nonFraction id="c86201641" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" format="ixt:numdotdecimal" decimals="-5">3.8</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. There were <ix:nonFraction id="c86201644" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> service based-vesting options granted during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022. </em>The weighted average remaining contractual life of service vesting-based options outstanding and exercisable as of <em style="font: inherit;"> June 30, 2022 </em>is <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c86201648" format="ixt-sec:duryear">3.3</ix:nonNumeric> years. There were <ix:nonFraction id="c86201649" contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> unrecognized compensation costs for service vesting-based stock options as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Performance-based stock options</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="-sec-ix-hidden:c86201650">No</span> stock compensation expense was recognized during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> related to performance-based options. There were <ix:nonFraction id="c86201657" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> performance-based stock options exercised in the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022. </em>The intrinsic value of performance-based awards exercised was $<ix:nonFraction id="c86201661" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" format="ixt:numdotdecimal" decimals="-5">6.9</ix:nonFraction> million and $<ix:nonFraction id="c86201662" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" format="ixt:numdotdecimal" decimals="-5">9.8</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;">2021,</em> respectively. There were <ix:nonFraction id="c86201666" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="6" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> stock options granted to employees and non-employee directors in the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Service vesting-based restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of service vesting-based restricted stock activity for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>and the status of unvested service vesting-based restricted stock outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="c66A80E06-BAF5-4A36-A79E-9965EC61D886" escape="true" continuedAt="c3439C14B-2887-4A1A-BF76-FE5DFB7430E3">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg. Grant Date Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201827" contextRef="i_2021-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,212,783</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201828" contextRef="i_2021-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">37.48</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201829" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">372,069</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201830" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">23.72</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201831" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">282,317</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201832" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">34.65</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Forfeited</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201833" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">55,802</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201834" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">45.38</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201835" contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,246,733</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201836" contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">33.65</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate fair value of the service vesting-based awards granted was $<ix:nonFraction id="c86201674" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">883,000</ix:nonFraction> and $<ix:nonFraction id="c86201675" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">8.8</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201678" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">2.4</ix:nonFraction> million and $<ix:nonFraction id="c86201679" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">4.6</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. The aggregate fair value of the service vesting-based awards that vested was $<ix:nonFraction id="c86201682" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="6" format="ixt:numdotdecimal" decimals="-6">2.0</ix:nonFraction> million and $<ix:nonFraction id="c86201683" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="6" format="ixt:numdotdecimal" decimals="-6">7.0</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201686" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">2.5</ix:nonFraction> million and $<ix:nonFraction id="c86201687" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">5.2</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense related to service vesting-based awards of $<ix:nonFraction id="c86201690" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">4.7</ix:nonFraction> million and $<ix:nonFraction id="c86201691" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">9.4</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201694" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">2.1</ix:nonFraction> million and $<ix:nonFraction id="c86201695" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">3.5</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $<ix:nonFraction id="c86201698" contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" format="ixt:numdotdecimal" decimals="-5">35.8</ix:nonFraction> million in unrecognized compensation costs related to service vesting-based awards. We expect to recognize those costs over <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c86201699" format="ixt-sec:duryear">2.7</ix:nonNumeric> years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Market-based restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of market-based restricted stock activity under our stock option plan for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and the status of market-based restricted stock outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="c3439C14B-2887-4A1A-BF76-FE5DFB7430E3">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br /> Grant Date<br /> Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201837" contextRef="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">139,756</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201838" contextRef="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">19.86</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201839" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" format="ixt:numdotdecimal" decimals="INF">349,568</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201840" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">22.66</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201841" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">218,280</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201842" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">10.95</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201843" contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">271,044</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201844" contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">30.64</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">22</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> March 25, 2020, </em>the Company granted <ix:nonFraction id="c86201702" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">109,140</ix:nonFraction> shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on Total Shareholder Return (&#x201c;TSR&#x201d;). The TSR market condition measures the Company&#x2019;s performance against a peer group. On <em style="font: inherit;"> February 24, 2022, </em>the Company&#x2019;s Compensation Committee determined the TSR attainment was <ix:nonFraction id="c86201703" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" scale="-2" format="ixt:numdotdecimal" decimals="0">200</ix:nonFraction>% of the targeted shares and <ix:nonFraction id="c86201704" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">218,280</ix:nonFraction> shares were granted and immediately vested to the executives of the Company based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2020 </em>through <em style="font: inherit;"> December 31, 2021 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined at the grant date using a Monte Carlo simulation with the following assumptions: a historical volatility of <ix:nonFraction id="c86201706" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">78</ix:nonFraction>%, <ix:nonFraction id="c86201707" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% dividend yield and a risk-free interest rate of <ix:nonFraction id="c86201708" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="3">0.3</ix:nonFraction>%. The historical volatility was based on the most recent <ix:nonNumeric contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember" name="blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" id="c86201709" format="ixt-sec:duryear">2</ix:nonNumeric>-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the <em style="font: inherit;">2</em>-year term associated with the market condition of the award. The fair value of this award of $<ix:nonFraction id="c86201712" contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockSecondIssuanceMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">1.2</ix:nonFraction> million was expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 8, 2021, </em>the Company granted <ix:nonFraction id="c86201713" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">30,616</ix:nonFraction> shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#x2019;s performance against a peer group. The market-based restricted stock awards will vest as to between <ix:nonFraction id="c86201714" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% and <ix:nonFraction id="c86201715" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" scale="-2" format="ixt:numdotdecimal" decimals="0">200</ix:nonFraction>% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2021 </em>through <em style="font: inherit;"> December 31, 2022 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of <ix:nonFraction id="c86201717" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">68</ix:nonFraction>%, <ix:nonFraction id="c86201718" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% dividend yield and a risk-free interest rate of <ix:nonFraction id="c86201719" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="3">0.1</ix:nonFraction>%. The historical volatility was based on the most recent <ix:nonNumeric contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" name="blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" id="c86201720" format="ixt-sec:duryear">2</ix:nonNumeric>-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the <ix:nonNumeric contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" name="blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" id="c86201722" format="ixt-sec:duryear">2</ix:nonNumeric>-year term associated with the market condition of the award. The fair value of this award of $<ix:nonFraction id="c86201723" contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">1.3</ix:nonFraction> million is being expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 24, 2022, </em>the Company granted <ix:nonFraction id="c86201724" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">240,428</ix:nonFraction> shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#x2019;s performance against a peer group. The market-based restricted stock awards will vest as to between <ix:nonFraction id="c86201725" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% and <ix:nonFraction id="c86201726" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" scale="-2" format="ixt:numdotdecimal" decimals="0">200</ix:nonFraction>% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2022 </em>through <em style="font: inherit;"> December 31, 2023 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of <ix:nonFraction id="c86201728" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">63</ix:nonFraction>%, <ix:nonFraction id="c86201729" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% dividend yield and a risk-free interest rate of <ix:nonFraction id="c86201730" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction>%. The historical volatility was based on the most recent <ix:nonNumeric contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" name="blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" id="c86201731" format="ixt-sec:duryear">2</ix:nonNumeric>-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the <ix:nonNumeric contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" name="blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" id="c86201733" format="ixt-sec:duryear">2</ix:nonNumeric>-year term associated with the market condition of the award. The fair value of this award of $<ix:nonFraction id="c86201734" contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">6.7</ix:nonFraction> million is being expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2023.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense of $<ix:nonFraction id="c86201735" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">1.2</ix:nonFraction> million and $<ix:nonFraction id="c86201736" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">1.8</ix:nonFraction> million related to market-based restricted stock awards for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201739" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="INF">441,000</ix:nonFraction> and $<ix:nonFraction id="c86201740" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="INF">726,000</ix:nonFraction> during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $<ix:nonFraction id="c86201743" contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" format="ixt:numdotdecimal" decimals="-5">5.7</ix:nonFraction> million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c86201744" format="ixt-sec:duryear">1.4</ix:nonNumeric> years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate fair value of the market-based awards granted was <span style="-sec-ix-hidden:c86201745">zero</span> and $<ix:nonFraction id="c86201746" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">6.7</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86201749" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">261,000</ix:nonFraction> and $<ix:nonFraction id="c86201750" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" scale="6" format="ixt:numdotdecimal" decimals="-5">1.8</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. The aggregate fair value of the market-based awards that vested was <span style="-sec-ix-hidden:c86201753">zero</span> and $<ix:nonFraction id="c86201754" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="6" format="ixt:numdotdecimal" decimals="-6">5.0</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and <span style="-sec-ix-hidden:c86201757">zero</span> and $<ix:nonFraction id="c86201758" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="6" format="ixt:numdotdecimal" decimals="-5">10.2</ix:nonFraction> million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Total stock compensation expense</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded total stock compensation expense for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021,</em> as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="c2171306" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201845" contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">714</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201846" contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">437</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201847" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,391</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201848" contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">620</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201849" contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">738</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201850" contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">269</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201851" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,443</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201852" contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">453</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201853" contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,719</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201854" contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,667</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201855" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">6,729</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201856" contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,646</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201857" contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">802</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201858" contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">147</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201859" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,809</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201860" contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">305</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201861" contextRef="d_2022-01-01_2022-03-31" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">5,973</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201862" contextRef="d_2021-01-01_2021-03-31" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">2,520</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201863" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,372</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201864" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,024</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       23
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="c2171307" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">15.</em> Acquisitions</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Sexton acquisition </b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>General terms and effects</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> August 9, 2021, </em>BioLife entered into an Agreement and Plan of Merger (the &#x201c;Sexton Merger Agreement&#x201d;) with BLFS Merger Sub, Inc., a Delaware corporation (&#x201c;Sexton Merger Sub&#x201d;), Fortis Advisors LLC, in its capacity as the representative of the stockholders of Sexton (the &#x201c;Sexton Seller Representative&#x201d;) and Sexton, a Delaware corporation. The acquisition strengthens BioLife&#x2019;s offerings in the cell and gene therapy and broader biopharma markets.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> September 1, 2021, </em>the Company completed the merger of Sexton Merger Sub with and into Sexton and Sexton became a wholly-owned subsidiary of the Company (the &#x201c;Sexton Merger&#x201d;). As consideration for the Sexton Merger (the &#x201c;Sexton Merger Consideration&#x201d;), holders of common stock, preferred stock and options of Sexton, other than the Company (collectively, the &#x201c;Sexton Participating Holders&#x201d;), are entitled to receive an aggregate of <ix:nonFraction id="c86201866" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="Share" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">530,502</ix:nonFraction> newly issued shares of the Company&#x2019;s common stock, subject to certain post-closing adjustments, of which <ix:nonFraction id="c86201867" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockIssuedToAcquireParticipatingHoldersMember" unitRef="Share" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">477,452</ix:nonFraction> shares of Common Stock were issued to the Sexton Participating Holders at the Closing, and <ix:nonFraction id="c86201868" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockDepositedIntoEscrowMember" unitRef="Share" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">53,050</ix:nonFraction> shares of Common Stock, or approximately <ix:nonFraction id="c86201869" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="Pure" name="blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" scale="-2" format="ixt:numdotdecimal" decimals="1">10</ix:nonFraction>% of the Merger consideration, were deposited into an escrow account for indemnification and post-closing purchase price adjustment purposes. Prior to the merger, the Company held preferred stock in Sexton, which was accounted for using a measurement alternative that measures the securities at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar investments of the same issuer. The Company accounted for the merger as a step acquisition, which required remeasurement of the Company&#x2019;s existing ownership in Sexton to fair value prior to completing the acquisition method of accounting. Using step acquisition accounting, the Company increased the value of its existing equity interest to its fair value, resulting in the recognition of a non-cash gain of $<ix:nonFraction id="c86201870" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" scale="6" format="ixt:numdotdecimal" decimals="-5">6.5</ix:nonFraction> million. The Company utilized a market-based valuation approach to determine the fair value of the existing equity interest based on the total merger consideration offered and the Company&#x2019;s stock price at acquisition.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total consideration transferred (in thousands, except number of shares and stock price):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="CE517DD0-19FA-4AE3-AA64-FCC7340B29FD" escape="true" continuedAt="c2613C434-4516-406E-BC06-81F217D7F8CA">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201922" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="Share" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">530,502</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of September 1, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201923" contextRef="i_2021-09-01" unitRef="USDPerShare" name="us-gaap:SharePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">60.50</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201924" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:numdotdecimal" decimals="-3">32,095</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Fair value of BioLife&#x2019;s existing investment in Sexton</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201925" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" scale="3" format="ixt:numdotdecimal" decimals="-3">7,951</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Net working capital adjustment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201926" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">118</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201927" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" format="ixt:numdotdecimal" decimals="-3">39,928</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction costs related to the acquisition are expensed as incurred and are <em style="font: inherit;">not</em> included in the calculation of consideration transferred.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Fair value of net assets acquired</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under the acquisition method of accounting, the assets acquired and liabilities assumed from Sexton were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $<ix:nonFraction id="c86201872" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" scale="0" format="ixt:numdotdecimal" decimals="INF">509,000</ix:nonFraction>. Of the acquired accounts receivable, $<ix:nonFraction id="c86201873" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" scale="0" format="ixt:numdotdecimal" decimals="INF">17,000</ix:nonFraction> is estimated to be uncollectable. The fair value calculations required critical estimates, including, but <em style="font: inherit;">not</em> limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">24</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" id="c182D67B0-F75B-4B3A-8824-BFFA089908C4" escape="true" continuedAt="CAD81677-E8E7-4BFE-888B-EF9F25DB6883">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201928" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" scale="3" format="ixt:numdotdecimal" decimals="-3">1,516</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201929" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">492</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201930" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-4">1,310</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201931" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">670</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201932" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">737</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201933" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">470</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201934" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">4,132</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201935" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">2,276</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201936" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">2,324</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201937" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">90</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201938" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">28,470</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201939" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">291</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201940" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" scale="3" format="ixt:numdotdecimal" decimals="-4">470</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201941" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">1,482</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201942" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">316</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b><ix:nonFraction id="c86201943" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-3">39,928</ix:nonFraction></b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded a measurement period adjustment in the <em style="font: inherit;">fourth</em> quarter of the year ended <em style="font: inherit;"> December 31, 2021 </em>of $<ix:nonFraction id="c86201877" contextRef="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">198,000</ix:nonFraction> to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of Sexton&#x2019;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" id="c081485EA-0DC7-4300-B00C-38F31703836A" escape="true" continuedAt="c423CF835-5384-475F-B33A-3E6BE2377A05">
    <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;">
     <tbody>
      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="4" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 5%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Useful </b></b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Life (Years)</b></b></p> </td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201944" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">4,132</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MinimumMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201945" format="ixt-sec:duryear">5</ix:nonNumeric></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">-</em></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MaximumMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201947" format="ixt-sec:duryear">9</ix:nonNumeric></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201948" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">2,276</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201950" format="ixt-sec:duryear">2</ix:nonNumeric></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201952" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-3">2,324</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201954" format="ixt-sec:duryear">11</ix:nonNumeric></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201956" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">90</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201958" format="ixt-sec:duryear">1</ix:nonNumeric></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b><ix:nonFraction id="c86201960" contextRef="i_2021-09-01" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">8,822</ix:nonFraction></b></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><b>&#xa0;</b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 3%;"><b><em style="font: inherit;">&#xa0;</em></b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><em style="font: inherit;">&#xa0;</em></td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; width: 3%;"><b><em style="font: inherit;">&#xa0;</em></b></td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into <em style="font: inherit;">one</em> of <em style="font: inherit;">three</em> approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all <em style="font: inherit;">three</em> approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The estimated fair values of developed technology were estimated using a multi-period excess earnings approach. The estimated fair values of customer relationships and non-compete agreements were estimated using a &#x201c;with and without&#x201d; approach, comparing projected cash flows under scenarios assuming the customer relationships and non-compete agreements were and were <em style="font: inherit;">not</em> in place. The estimated fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are <em style="font: inherit;">not</em> limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Acquired goodwill</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The goodwill of $<ix:nonFraction id="c86201883" contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:Goodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">28.5</ix:nonFraction> million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is <em style="font: inherit;">not</em> deductible for income tax purposes.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Global Cooling acquisition </b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>General terms and effects</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> March 19, 2021, </em>the Company entered into an Agreement and Plan of Merger (the &#x201c;GCI Merger Agreement&#x201d;) with BLFS Merger Subsidiary, Inc., a Delaware corporation (&#x201c;GCI Merger Sub&#x201d;), Global Cooling, a Delaware corporation and Albert Vierling and William Baumel, in their capacity as the representatives of the stockholders of GCI (collectively, the &#x201c;GCI Seller Representative&#x201d;). The acquisition strengthens BioLife&#x2019;s offerings in the cell and gene therapy and broader biopharma markets.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> May 3, 2021, </em>pursuant to the GCI Merger Agreement, subject to the terms and conditions set forth therein, the transactions contemplated by the GCI Merger Agreement were consummated (the &#x201c;GCI Closing&#x201d;), GCI Merger Sub merged with and into GCI (the &#x201c;GCI Merger&#x201d; and, together with other transactions contemplated by the GCI Merger Agreement, the &#x201c;GCI Transactions&#x201d;), with GCI continuing as the surviving corporation in the GCI Merger and a wholly-owned subsidiary of the Company. In the GCI Merger, all of the issued and outstanding shares of capital stock of GCI immediately prior to the filing of the Certificate of Merger with the Secretary of State of the State of Delaware (other than those properly exercising any applicable dissenter&#x2019;s rights under Delaware law) were converted into the right to receive the GCI Merger Consideration (as defined below). The Company paid the GCI Merger Consideration to the holders of common stock and preferred stock of GCI (collectively, the &#x201c;GCI Stockholders&#x201d;).</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">25</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Merger consideration</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate merger consideration paid pursuant to the GCI Merger Agreement to the GCI Stockholders was <ix:nonFraction id="c86201886" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Share" name="blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" scale="0" format="ixt:numdotdecimal" decimals="INF">6,646,870</ix:nonFraction> newly issued shares of common stock, provided, however, that the GCI Merger Consideration otherwise payable to GCI Stockholders is subject to the withholding of the GCI Escrow Shares (as defined below) and is subject to reduction for indemnification obligations. The GCI Merger Consideration allocable to <em style="font: inherit;">one</em> GCI stockholder was reduced by <ix:nonFraction id="c86201888" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember" unitRef="Share" name="blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" scale="0" format="ixt:numdotdecimal" decimals="INF">10,400</ix:nonFraction> shares to satisfy an outstanding note receivable of $<ix:nonFraction id="c86201889" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember" unitRef="USD" name="us-gaap:NotesReceivableNet" scale="0" format="ixt:numdotdecimal" decimals="INF">374,000</ix:nonFraction>. In accordance with ASC <em style="font: inherit;">805,</em> the Company recognized the settlement of pre-existing relationships in the forms of cash deposits, trade receivables, and trade payables, which are included in the consideration transferred. The GCI Merger Consideration is <em style="font: inherit;">not</em> subject to any purchase price adjustments.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total consideration transferred (in thousands, except number of shares, stock price, and consideration percentage):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="c2613C434-4516-406E-BC06-81F217D7F8CA">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife shares outstanding (as of March 19, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201964" contextRef="i_2021-05-03" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">33,401,359</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration percentage</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201965" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Pure" name="blfs:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">19.9</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201966" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Share" name="blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" scale="0" format="ixt:numdotdecimal" decimals="INF">6,646,870</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201967" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Share" name="blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" scale="0" format="ixt:numdotdecimal" decimals="INF">10,400</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201968" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Share" name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">6,636,470</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of May 3, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201969" contextRef="i_2021-05-03" unitRef="USDPerShare" name="us-gaap:SharePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">35.07</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201970" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:numdotdecimal" decimals="-3">232,741</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Settlement of BioLife prepaid deposits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201971" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" scale="3" format="ixt:numdotdecimal" decimals="-3">2,152</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Net settlement of BioLife accounts receivable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86201972" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">16</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86201973" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" format="ixt:numdotdecimal" decimals="-3">234,909</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction costs related to the acquisition are expensed as incurred and are <em style="font: inherit;">not</em> included in the calculation of consideration transferred.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><i>Escrow shares</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">At the GCI Closing, approximately <em style="font: inherit;">nine</em> percent (<ix:nonFraction id="c86201894" contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="Pure" name="blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" scale="-2" format="ixt:numdotdecimal" decimals="2">9</ix:nonFraction>%) of the GCI Merger Consideration (the &#x201c;Escrow Shares&#x201d;, along with any other dividends, distributions or other income on the GCI Escrow Shares, the &#x201c;GCI Escrow Property&#x201d;) otherwise issuable to the GCI Stockholders (allocated pro rata among the GCI Stockholders based on the GCI Merger Consideration otherwise issuable to them at the GCI Closing), was deposited into a segregated escrow account in accordance with an escrow agreement to be entered into in connection with the GCI Transactions (the &#x201c;GCI Escrow Agreement&#x201d;).</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The GCI Escrow Property will be held for a period of up to <em style="font: inherit;">twenty-four</em> (<ix:nonNumeric contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" name="blfs:BusinessCombinationEscrowSharesPeriod" id="c86201896" format="ixt-sec:durmonth">24</ix:nonNumeric>) months after the GCI Closing as the sole and exclusive source of payment for any post-GCI Closing indemnification claims (other than fraud claims), unless earlier released in accordance with the terms of the GCI Escrow Agreement.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Fair value of net assets acquired</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under the acquisition method of accounting, the assets acquired and liabilities assumed from Global Cooling were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $<ix:nonFraction id="c86201897" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" scale="6" format="ixt:numdotdecimal" decimals="-5">7.1</ix:nonFraction> million. Of the acquired accounts receivable, $<ix:nonFraction id="c86201898" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" scale="0" format="ixt:numdotdecimal" decimals="INF">53,000</ix:nonFraction> was estimated to be uncollectable. The fair value calculations required critical estimates, including, but <em style="font: inherit;">not</em> limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">26</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="CAD81677-E8E7-4BFE-888B-EF9F25DB6883">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201974" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201975" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">7,076</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201976" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">15,547</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201977" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">639</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201978" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">3,512</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201979" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,741</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Financing lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201980" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">114</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term deposits and other assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201981" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">4</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201982" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">18,140</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201983" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">7,020</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201984" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">26,640</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201985" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">1,240</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201986" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">67,440</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201987" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">137,822</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201988" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">9,837</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Line of credit</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201989" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">4,231</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201990" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" scale="3" format="ixt:numdotdecimal" decimals="-4">1,880</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, financing</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201991" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">114</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201992" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-4">4,410</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86201993" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">24,133</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86201994" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">7,464</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b><ix:nonFraction id="c86201995" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-3">234,909</ix:nonFraction></b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded a measurement period adjustment in the <em style="font: inherit;">fourth</em> quarter of the year ended <em style="font: inherit;"> December 31, 2021 </em>of $<ix:nonFraction id="c86201902" contextRef="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">607,000</ix:nonFraction> to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of Global Cooling&#x2019;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="c423CF835-5384-475F-B33A-3E6BE2377A05">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Useful </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Life (Years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201996" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">18,140</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201997" format="ixt-sec:duryear">6</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86201998" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">7,020</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86201999" format="ixt-sec:duryear">12</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202000" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">26,640</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86202001" format="ixt-sec:duryear">15</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202002" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" format="ixt:numdotdecimal" decimals="-4">1,240</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c86202003" format="ixt-sec:duryear">4</ix:nonNumeric></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202004" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">67,440</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b><ix:nonFraction id="c86202006" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">120,480</ix:nonFraction></b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><b><em style="font: inherit;">&#xa0;</em></b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"><b>&#xa0;</b></td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into <em style="font: inherit;">one</em> of <em style="font: inherit;">three</em> approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all <em style="font: inherit;">three</em> approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The fair values of developed technology and in-process research and development were estimated using a multi-period excess earnings approach. The fair values of customer relationships were estimated using the &#x201c;distributor method&#x201d;. The fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset. The fair values of non-compete agreements were estimated using a &#x201c;with and without&#x201d; approach, comparing projected cash flows under scenarios assuming the non-compete agreements were and were <em style="font: inherit;">not</em> in place. The fair value of inventory and property, plant and equipment were determined using the &#x201c;market approach&#x201d;.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are <em style="font: inherit;">not</em> limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> July 2022, </em>the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these events constituted interim triggering events that required further analysis with respect to potential impairment to indefinite-lived intangibles and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the <em style="font: inherit;"> June 30, 2022 </em>balance sheet date, noting that the values of indefinite-lived intangibles and definite-lived intangibles were impaired by $<ix:nonFraction id="c86201908" contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">58.9</ix:nonFraction> million and $<ix:nonFraction id="c86201909" contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:ImpairmentOfIntangibleAssetsFinitelived" scale="6" format="ixt:numdotdecimal" decimals="-6">11.0</ix:nonFraction> million, respectively. See Note <em style="font: inherit;">8</em> &#x2013; &#x201c;<i>Goodwill and intangible assets</i>&#x201d; for details.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Acquired goodwill</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The goodwill of $<ix:nonFraction id="c86201911" contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:Goodwill" scale="6" format="ixt:numdotdecimal" decimals="-5">137.8</ix:nonFraction> million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is <em style="font: inherit;">not</em> deductible for income tax purposes.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">
       <em style="font: inherit;">27</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Pro forma presentation</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following unaudited pro forma financial information presents the combined results of operations of Sexton as if the acquisition had occurred on <em style="font: inherit;"> January 1, 2021 </em>after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" id="c94D5789B-D76F-47C5-863E-BF6992E01A89" escape="true" continuedAt="E5397A00-1F19-42F6-BB20-2A1109CCB707">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202008" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" format="ixt:numdotdecimal" decimals="-4">32,810</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202009" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" format="ixt:numdotdecimal" decimals="-3">50,665</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202010" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,085</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202011" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">5,162</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following unaudited pro forma financial information presents the combined results of operations of Global Cooling as if the acquisition had occurred on <em style="font: inherit;"> January 1, 2021 </em>after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, amortization of increased inventory basis, depreciation expense, lease expense, transaction costs, interest expense, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="E5397A00-1F19-42F6-BB20-2A1109CCB707">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202012" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" format="ixt:numdotdecimal" decimals="-3">51,035</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202013" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" format="ixt:numdotdecimal" decimals="-3">85,985</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202014" contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,141</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202015" contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember" unitRef="USD" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">6,095</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:IncomeTaxDisclosureTextBlock" id="c2171316" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">16.</em> Income taxes</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company accounts for income taxes under ASC Topic <em style="font: inherit;">740</em> &#x2013; Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#x2019;s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax benefit of $<ix:nonFraction id="c86202018" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" format="ixt:numdotdecimal" decimals="-5" sign="-">4.3</ix:nonFraction> million for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>resulted in an effective income tax rate of <ix:nonFraction id="c86202020" contextRef="d_2022-01-01_2022-06-30" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" format="ixt:numdotdecimal" decimals="2">5</ix:nonFraction>%. Included in the <em style="font: inherit;">$4.3</em> million were discrete tax benefits of $<ix:nonFraction id="c86202022" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:DiscreteTaxBenefit" scale="0" format="ixt:numdotdecimal" decimals="INF">235,000</ix:nonFraction> related to stock compensation windfall tax benefits offset by an increase in the valuation allowance.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#x2019;s US projected effective income tax rate without discrete items was <ix:nonFraction id="c86202024" contextRef="d_2022-01-01_2022-06-30" unitRef="Pure" name="blfs:EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" scale="-2" format="ixt:numdotdecimal" decimals="2">5</ix:nonFraction>%, which is lower than the US federal statutory rate of <ix:nonFraction id="c86202025" contextRef="d_2022-01-01_2022-06-30" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21</ix:nonFraction>% primarily due to the impact of a projected valuation allowance on net operating loss carryforwards and non-deductible executive compensation offset by state tax benefits and research tax credits.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company&#x2019;s management evaluates both positive and negative evidence when concluding whether it is more likely than <em style="font: inherit;">not</em> that deferred tax assets are realizable. After reviewing the evidence available, the Company&#x2019;s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $<ix:nonFraction id="c86202027" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" format="ixt:numdotdecimal" decimals="-5">21.6</ix:nonFraction> million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:EarningsPerShareTextBlock" id="c2171317" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">17.</em> Net (loss) income per common share</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company considers its unexercised warrants and unvested restricted shares, which contain non-forfeitable rights to dividends, participating securities, and includes such participating securities in its computation of earnings per share pursuant to the <em style="font: inherit;">two</em>-class method. Basic earnings per share for the <em style="font: inherit;">two</em> classes of stock (common stock and warrants) is calculated by dividing net loss by the weighted average number of shares of common stock and warrants outstanding during the reporting period. Diluted earnings per share is calculated using&#xa0;the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the <em style="font: inherit;">two</em>-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">28</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents computations of basic and diluted earnings per share under the <em style="font: inherit;">two</em>-class method:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="c2171318" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share and earnings per share data)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Basic earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202035" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202036" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202037" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202038" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202039" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202040" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202041" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202042" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202043" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202044" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">215</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202045" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202046" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">208</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income allocated to common shareholders</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202047" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202048" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">7,661</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202049" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202050" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">6,543</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202052" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,460,189</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202053" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">38,072,712</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202054" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,238,355</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202055" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">35,668,124</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86202056" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.71</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202057" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.20</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86202058" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.89</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202059" contextRef="d_2021-01-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.18</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Diluted earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202061" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202062" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">7,876</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202063" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202064" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">6,758</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202065" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202066" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">208</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202067" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202068" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-5" sign="-">200</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202069" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="blfs:WarrantsIncomeStatementImpact" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202070" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="blfs:WarrantsIncomeStatementImpact" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202071" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="blfs:WarrantsIncomeStatementImpact" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c86202072" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="blfs:WarrantsIncomeStatementImpact" scale="3" format="ixt:numdotdecimal" decimals="-3">7</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Less: gain related to change in fair value of warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202073" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202074" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202075" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202076" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202077" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">72,554</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202078" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3">7,668</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c86202079" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">79,620</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202080" contextRef="d_2021-01-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" scale="3" format="ixt:numdotdecimal" decimals="-3">6,551</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
       <td>&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202082" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,460,189</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202083" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">38,072,712</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202084" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">42,238,355</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202085" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">35,668,124</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Dilutive potential common shares from:</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Stock options</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202087" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202088" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,249,810</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202089" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202090" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,436,767</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202091" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202092" contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,067,576</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202093" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86202094" contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,134,003</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202095" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202096" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202097" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202098" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" format="ixt:numdotdecimal" decimals="INF">36,709</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted weighted average shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202099" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,460,189</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202100" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">40,390,098</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202101" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">42,238,355</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202102" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">38,275,603</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86202103" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.71</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202104" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.19</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c86202105" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.89</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202106" contextRef="d_2021-01-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.17</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table sets forth the number of weighted-average common shares excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="c2171319" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options and restricted stock awards</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202107" contextRef="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">1,942,812</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202108" contextRef="d_2021-04-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202109" contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">2,767,841</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c86202110" contextRef="d_2021-01-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202111" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">1,942,812</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202112" contextRef="d_2021-04-01_2021-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202113" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">2,767,841</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c86202114" contextRef="d_2021-01-01_2021-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="c2171320" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">18.</em> Commitments and contingencies</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Employment agreements</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We have employment agreements with certain key employees. <em style="font: inherit;">None</em> of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we <em style="font: inherit;"> may </em>be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Litigation</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, <em style="font: inherit;">none</em> of which are currently material to the Company&#x2019;s business.&#xa0;The Company&#x2019;s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company <em style="font: inherit;"> may </em>be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is <em style="font: inherit;">not</em> aware of any significant pending or threatened litigation.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Indemnification</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As permitted under Delaware law and in accordance with the Company&#x2019;s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the indemnification rights and agreements is minimal. Accordingly, the Company has <em style="font: inherit;">not</em> recorded any liabilities for these indemnification rights and agreements as of <em style="font: inherit;"> June 30, 2022.</em></p>
  </ix:nonNumeric>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       29
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:DefinedContributionPlanTextBlock" id="c2171321" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">19.</em> Employee benefit plan</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company sponsors <em style="font: inherit;">401</em>(k) defined contribution plans for its employees. These plans provide for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees <em style="font: inherit;"> may </em>contribute up to <ix:nonFraction id="c86202122" contextRef="d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember" unitRef="Pure" name="us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction>% of their annual compensation to these plans, as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company&#x2019;s sole discretion. The Company made $<ix:nonFraction id="c86202123" contextRef="d_2022-04-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember" unitRef="USD" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">301,000</ix:nonFraction> and $<ix:nonFraction id="c86202124" contextRef="d_2022-01-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember" unitRef="USD" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">527,000</ix:nonFraction> in contributions to the plan for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $<ix:nonFraction id="c86202127" contextRef="d_2021-04-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember" unitRef="USD" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">216,000</ix:nonFraction> and $<ix:nonFraction id="c86202128" contextRef="d_2021-01-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember" unitRef="USD" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">350,000</ix:nonFraction> for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  </ix:nonNumeric>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-06-30" name="us-gaap:SubsequentEventsTextBlock" id="c2171322" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">20.</em> Subsequent events</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has evaluated events subsequent to <em style="font: inherit;"> June 30, 2022 </em>through the date of this filing to assess the need for potential recognition or disclosure. Based upon this evaluation, it was determined that <em style="font: inherit;">no</em> subsequent events occurred that require recognition or disclosure in the Unaudited Condensed Consolidated Financial Statements.</p>
  </ix:nonNumeric>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     30
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="itemtwo" title="itemtwo" href="#"></a>Item</b>&#xa0;<b>2.</b> <b>Management</b>&#x2019;<b>s discussion and analysis of financial condition and results of operations</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Forward looking statements</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">This Quarterly Report on Form 10-Q contains &#x201c;forward-looking statements&#x201d; which are made pursuant to the safe harbor provisions of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#x201d;). These forward-looking statements involve a number of risks and uncertainties. We caution readers that any forward-looking statement is not a guarantee of future performance and that actual results could differ materially from those contained in the forward-looking statement. These statements are based on current expectations of future events. Such statements include, but are not limited to, statements about our products, including our newly acquired products, customers, regulatory approvals, the potential utility of and market for our products and services, our ability to implement our business strategy and anticipated business and operations, in particular following our 2021, 2020, and 2019 acquisitions, future financial and operational performance, our anticipated future growth strategy, including the acquisition of synergistic cell and gene therapy manufacturing tools and services or technologies or other companies or technologies, capital requirements, intellectual property, suppliers, joint venture partners, future financial and operating results, the impact of the COVID-19 pandemic, plans, objectives, expectations and intentions, revenues, costs and expenses, interest rates, outcome of contingencies, financial condition, results of operations, liquidity, business strategies, regulatory filings and requirements, the estimated potential size of markets, capital requirements, the terms of any capital financing agreements, cost savings, objectives of management and other statements that are not historical facts. You can find many of these statements by looking for words like &#x201c;believes&#x201d;, &#x201c;expects&#x201d;, &#x201c;anticipates&#x201d;, &#x201c;estimates&#x201d;, &#x201c;may&#x201d;, &#x201c;should&#x201d;, &#x201c;will&#x201d;, &#x201c;could&#x201d;, &#x201c;plan&#x201d;, &#x201c;intend&#x201d;, or similar expressions in this Quarterly Report on Form 10-Q. We intend that such forward-looking statements be subject to the safe harbors created thereby.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">These forward-looking statements are based on the current beliefs and expectations of our management and are subject to significant risks and uncertainties. If underlying assumptions prove inaccurate or unknown risks or uncertainties materialize, actual results may differ materially from current expectations and projections. These risks and uncertainties include those factors described in greater detail in the risk factors disclosed in our Form 10-K as of and for the fiscal year ended December 31, 2021 filed with the SEC. Should one or more of these risks or uncertainties materialize, or should any of our assumptions prove incorrect, actual results may vary in material respects from those anticipated in these forward-looking statements.&#xa0;The Company undertakes no obligation to update or revise any forward-looking statements, whether as a result of new information, future events or otherwise, except as may be required under applicable securities laws.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">You are cautioned not to place undue reliance on these forward-looking statements, which speak only as of the date of this Quarterly Report on Form 10-Q or, in the case of documents referred to or incorporated by reference, the date of those documents.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">All subsequent written or oral forward-looking statements attributable to us or any person acting on our behalf are expressly qualified in their entirety by the cautionary statements contained or referred to in this section. We do not undertake any obligation to release publicly any revisions to these forward-looking statements to reflect events or circumstances after the date of this Quarterly Report on Form 10-Q or to reflect the occurrence of unanticipated events, except as may be required under applicable U.S. securities law. If we do update one or more forward-looking statements, no inference should be drawn that we will make additional updates with respect to those or other forward-looking statements.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Overview</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Management&#x2019;s discussion and analysis provides additional insight into the Company and is provided as a supplement to, and should be read in conjunction with, our Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2021 filed with the SEC.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We are a life sciences company that develops, manufactures, and markets bioproduction tools and services to the cell and gene therapy (&#x201c;CGT&#x201d;) industry and broader biopharma market, which are designed to improve quality and de-risk biologic manufacturing, storage, distribution, and transportation. Our products are used in basic and applied research and commercial manufacturing of biologic-based therapies. Customers use our products to maintain the health and function of biologic material during sourcing, manufacturing, storage, and distribution.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our current portfolio of bioproduction tools and services are comprised of three revenue lines that contain seven main offerings: (i) cell processing (including biopreservation media for the preservation of cells and tissues, human platelet lysate media for the supplementation of cell expansion, cryogenic vials and automated fill machines that provide high-quality, efficient, and precise mixes of solutions), (ii) freezers and thaw systems (including a full line of mechanical ultra-low temperature (&#x201c;ULT&#x201d;), isothermal, and liquid nitrogen freezers and accessories, automated thaw devices which provide controlled, consistent thawing of frozen biologics in vials and cryobags), and (iii) storage and storage services (including biological and pharmaceutical storage services, and &#x201c;smart&#x201d;, cloud connected devices for transporting biologic payloads).</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       31
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We currently operate as one bioproduction tools and services business which supports several steps in the biologic material manufacturing and delivery process. We have a diversified portfolio of tools and services that focus on biopreservation, cell processing, frozen biologic storage products and services, cold-chain transportation, and thawing of biologic materials. We have in-house expertise in cryobiology and continue to capitalize on opportunities to maximize the value of our product platform for our extensive customer base through both organic growth innovations and acquisitions.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Our products</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Our bioproduction tools and services are comprised of three revenue lines that contain seven main offerings:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td colspan="2" style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cell processing</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Biopreservation media</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Human platelet lysate media (&#x201c;hPL&#x201d;), cryogenic vials, and automated cell-processing fill machines</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td colspan="2" style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Freezers and thaw systems</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Ultra-low temperature freezers</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cryogenic freezers and accessories</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Automated thawing devices</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td colspan="2" style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Storage and storage services</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Biological and pharmaceutical material storage</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cb;</p> </td>
     <td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cloud connected &#x201c;smart&#x201d;&#xa0;shipping containers</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; ">Biopreservation media</span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our proprietary biopreservation media products, HypoThermosol&#xae; FRS and CryoStor&#xae;, are formulated to mitigate preservation-induced, delayed-onset cell damage and death, which result when cells and tissues are subjected to reduced temperatures. Our technology can provide our customers with significant shelf-life extension of biologic source material and final cell products, and can also greatly improve post-preservation cell and tissue viability and function. Our biopreservation media is serum-free, protein-free, fully defined, and manufactured under current Good Manufacturing Practices (cGMP). We strive to source wherever possible, the highest available grade, multi-compendium raw materials. We estimate our media products have been incorporated in more than 550 customer clinical applications, including numerous chimeric antigen receptor (CAR) T cell and other cell types.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Stability (i.e. shelf-life) and functional recovery are crucial aspects of academic research and clinical practice in the biopreservation of biologic-based source material, intermediate derivatives, and isolated/derived/expanded cellular products and therapies. Limited stability is especially critical in the CGT field, where harvested cells and tissues will lose viability over time, if not maintained appropriately at normothermic body temperature (37&#xba;C) or stored in a hypothermic state in an effective preservation medium. Chilling (hypothermia) is used to reduce metabolism and delay degradation of harvested cells and tissues. However, subjecting biologic material to hypothermic environments induces damaging molecular stress and structural changes. Although cooling successfully reduces metabolism (i.e., lowers demand for energy), various levels of cellular damage and death occur when using suboptimal methods. Traditional biopreservation media range from simple &#x201c;balanced salt&#x201d; (electrolyte) formulations to complex mixtures of electrolytes, energy substrates such as sugars, osmotic buffering agents and antibiotics. The limited stability, which results from the use of these traditional biopreservation media formulations, is a significant shortcoming that our optimized proprietary products address with great success.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our scientific research activities over the last 30+ years enabled a detailed understanding of the molecular basis for the hypothermic and cryogenic (low-temperature induced) damage/destruction of cells through apoptosis and necrosis. This research led directly to the development of our HypoThermosol&#xae; FRS and CryoStor&#xae; technologies. Our proprietary biopreservation media products are specifically formulated to:&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Minimize cell and tissue swelling</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Reduce free radical levels upon formation</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Maintain appropriate low temperature ionic balances</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Provide regenerative, high energy substrates to stimulate recovery upon warming</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Avoid the creation of an acidic state (acidosis)</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x25cf;</p> </td>
     <td style="vertical-align: top; width: 96%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Inhibit the onset of apoptosis and necrosis</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">A key feature of our biopreservation media products is their &#x201c;fully-defined&#x201d; profile. All of our cGMP products are serum-free, protein-free and are formulated and filled using aseptic processing. We strive to use USP/Multicompendial grade or the highest quality available synthetic components. All of these features benefit prospective customers by facilitating the qualification process required to incorporate our products into their regulatory filings.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       32
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The results of independent testing demonstrate that our biopreservation media products significantly extend shelf-life and improve cell and tissue post-thaw viability and function. Our products have demonstrated improved biopreservation outcomes, including greatly extended shelf-life and post-thaw viability, across a broad array of cell and tissue types.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Competing biopreservation media products are often formulated with simple isotonic media cocktails, animal serum, potentially a single sugar or human protein. A key differentiator of our proprietary HypoThermosol FRS formulation is the engineered optimization of the key ionic component concentrations for low temperature environments, as opposed to normothermic body temperature around 37&#xb0;C, as found in culture media or saline-based isotonic formulas. Competing cryopreservation freeze media is often comprised of a single permeating cryoprotectant such as dimethyl sulfoxide (&#x201c;DMSO&#x201d;). Our CryoStor formulations incorporate multiple permeating and non-permeating cryoprotectant agents which allow for multiple mechanisms of protection and reduces the dependence on a single cryoprotectant. We believe that our products offer significant advantages over in-house formulations, or commercial &#x201c;generic&#x201d; preservation media, including, time saving, improved quality of components, more rigorous quality control release testing, more cost effective and improved preservation efficacy.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We estimate that annual revenue from each customer commercial application in which our products are used could range from $500,000 to $2.0 million, if such application is approved and our customer commences large scale commercial manufacturing of the biologic based therapy.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">Human platelet lysate media, cryogenic vials and automated cell-processing fill machines </span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In September 2021, we acquired Sexton Biotechnologies, Inc., a producer of bioproduction tools. Sexton's bioproduction tools portfolio includes hPL for cell expansion reducing risk and improving downstream performance over fetal bovine serum, human serum, and other chemically defined media, CellSeal&#xae; closed system vials that are purpose-built rigid containers used in CGT that can be filled manually or with high throughput systems, and automated cell processing machines bring multiple processes traditionally performed by manual techniques under a higher level of control to protect therapies from loss or contamination.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">Compressor-free ULT freezers</span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In May 2021, we acquired Global Cooling, Inc. (&#x201c;Global Cooling&#x201d;), a manufacturer of class defining ultra-low temperature freezers. Global Cooling carries a portfolio of freezers that range in size from portable units to stationary upright freezers to accommodate a wide variety of use cases. Users can configure these freezers to achieve temperatures between -20&#xb0;C and -86&#xb0;C. The portfolio was designed to be environmentally friendly and energy efficient, using as little as 2.8 kWh/day at temperatures of -80&#xb0;C. The freezers do not use compressor-based or cascade refrigeration systems. Instead, they use patented free-piston Stirling engine technology that uses fewer moving parts, resulting in maintenance cost savings for end users.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">Liquid nitrogen freezers and storage devices</span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In November 2019, we acquired Custom Biogenic Systems, Inc. (&#x201c;CBS&#x201d;) a global leader in the design and manufacture of state-of-the-art liquid nitrogen laboratory freezers, cryogenic equipment and accessories.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Included in CBS&#x2019;s product line of liquid nitrogen freezers are controlled-rate freezers and Isothermal LN2 freezers, constructed with a patented system which stores liquid nitrogen in a jacketed space in the walls of the freezer. This dry storage method eliminates liquid nitrogen contact with stored specimens, reduces the risk of cross-contamination and provides increased user safety in a laboratory setting. To accommodate customer requirements, we offer customizable features including wide bodied and extended height.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">To accompany the offerings of cryogenic freezer equipment, we supply equipment for storing critically important biological materials. This storage equipment includes upright freezer racks, chest freezer racks, liquid nitrogen freezer racks, canisters/cassettes and frames as well as laboratory boxes and dividers. Due to our onsite design and manufacturing capability, racks and canisters can be customized to address customers&#x2019; varying requirements.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In order to provide customers with a proactive approach to safety and monitoring of equipment containing liquefied gas, CBS offers Versalert, a patented wireless remote asset monitoring system that can monitor and record temperatures. Versalert has an intelligent mesh network system that enables customers to view current equipment conditions and receive alarm notification on smartphones, tablets or personal computers and maintain permanent electronic records for regulatory compliance and legal verification.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">Automated, water-free thawing products </span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In April 2019, we acquired Astero Bio Corporation (&#x201c;Astero&#x201d;). The Astero ThawSTAR&#xae; line includes automated vial and cryobag thawing products that control the heat and timing of the thawing process of biologic material. Our customizable, automated, water-free thawing products uses algorithmic programmed, heating plates to consistently bring biologic material from a frozen state to a liquid state in a controlled and consistent manner. This helps reduce cell structure damage during the temperature transition. The ThawSTAR&#xae; products can reduce risks of contamination versus using a traditional water bath.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       33
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">Biological and pharmaceutical storage</span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In October 2020, we acquired SciSafe Holdings, Inc. (&#x201c;SciSafe&#x201d;), a premier provider of biological and pharmaceutical storage. In addition to providing storage services, SciSafe provides cold chain logistics that ensures materials are kept at target temperatures from the moment that the materials leave the customer&#x2019;s premises to their ultimate return. State-of-the-art monitoring systems employed by SciSafe allow for customers to monitor the storage temperatures of their materials throughout the entire logistics chain.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We operate six storage facilities in the USA and one facility in the Netherlands.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="text-decoration: underline; ">evo</span><span style="text-decoration: underline; ">&#xae;</span><span style="text-decoration: underline; "> cloud connected shipping containers</span></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In August 2019, we acquired the remaining shares of SAVSU Technologies, Inc. (&#x201c;SAVSU&#x201d;) we did not previously own. SAVSU is a leading developer and supplier of next generation cold chain management tools for cell and gene therapies. The evo.is cloud app allows biologic products to be traced and tracked in real time. Our evo platform consists of rentable cloud-connected shippers and include technologies that enable tracking software provides real-time information on geolocation, payload temperature, ambient temperature, tilt of shipper, humidity, altitude, and real-time alerts when a shipper has been opened. Our internally developed evo.is software allows customers to customize alert notifications both in data measurements and user requirements. The evo Dry Vapor Shipper (&#x201c;DVS&#x201d;) has an improved form factor and ergonomics over traditional dewars, including extended thermal performance, reduced liquid nitrogen recharge time, improved payload extractors and ability to maintain temperature for longer periods during transit or otherwise in a non-upright orientation.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We utilize couriers who already have established logistic channels and distribution centers. Our strategy greatly reduces the cash need to build out specialized facilities around the world. Our partnerships with several white glove couriers allow us to scale our sales and marketing effort by utilizing their salesforce. Our courier partnerships market our evo platform to their existing cell and gene therapy customers as a cost effective and innovative solution. We also market directly to our existing and prospective customers who can utilize the evo platform through our courier partnerships.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Critical accounting policies and estimates</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">A &#x201c;critical accounting policy&#x201d; is one which is both important to the portrayal of our financial condition and results and requires management&#x2019;s most difficult, subjective or complex judgments, often as a result of the need to make estimates about the effect of matters that are inherently uncertain. For a description of our critical accounting policies that affect our more significant judgments and estimates used in the preparation of our Unaudited Condensed Consolidated Financial Statements, refer to Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations and our significant accounting policies in Note 1 to the Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2021 filed with the SEC and Note 1 to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on form 10-Q.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Results of operations</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following discussion of the financial condition and results of operations should be read in conjunction with the accompanying Unaudited Condensed Consolidated Financial Statements and the related footnotes thereto.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Revenues </i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Total bioproduction tools and services revenue for three and six months ended June 30, 2022 and 2021 was comprised of the following:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Freezer and thaw</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,670</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">17,564</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,106</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cell processing</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">15,356</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,699</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,657</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">144</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">205</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(61</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(30</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,698</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,963</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,735</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">88</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,665</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,773</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">892</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">50</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,533</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,204</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,329</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       34
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Freezer and thaw</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">34,005</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,411</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,594</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">52</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cell processing</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,254</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,626</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,628</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">62</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">299</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">207</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">92</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,787</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,167</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,620</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">63</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,407</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,640</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,767</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">105</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">76,752</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">48,051</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">28,701</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Product revenue</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Product revenue was $34.2 million for the three months ended June 30, 2022, representing an increase of $6.7 million, or 24%, compared with the same period in 2021, and was $64.6 million for the six months ended June 30, 2022, representing an increase of $23.3 million, or 57%, compared with the same period in 2021. Organic revenue grew 36% in the six months ended June 30, 2022 due to the continued adoption of our cell processing products by customers in the CGT market.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Product revenue from our freezer and thaw products increased by $1.1 million and $11.6 million, or 6% and 52%, in the three and six months ended June 30, 2022, respectively, compared with the same period in 2021. Of the increase noted in the six months ended June 30, 2022, $10.7 million is attributable to revenue generated by our ULT freezer products, which were acquired in May 2021. Organic freezer and thaw revenue increased by 9% in the six months ended June 30, 2022 &#xa0;due to strong cryogenic freezer sales in the three months ended June 30, 2022.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Product revenue from our cell processing products increased by $5.7 million and $11.6 million, or 58% and 62%, in the three and six months ended June 30, 2022, respectively, compared with the same period in 2021. Of the increase noted in the three and six months ended June 30, 2022, $1.2 million and $2.4 million of the increases are respectively attributable to revenue generated by our hPL, cryogenic vial, and automated fill machine products, which were acquired in September 2021. Organic cell processing revenue increased 49% in the six months ended June 30, 2022, as our cell processing products continue to be adopted by customers in the CGT&#xa0;market.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Product revenue from our storage and storage services decreased by $61,000 and increased by $92,000, or a 30% decrease and a 44% increase, in the three and six months ended June 30, 2022, respectively, compared with the same period in 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Service revenue</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Service revenue was $3.7 million and $6.8 million for the three and six months ended June 30, 2022, respectively, representing increases of $1.7 million and $2.6 million, or 88% and 63%, compared with the same period in 2021. The entirety of these increases were generated organically. The increase relates primarily to $1.8 million of revenue generated by our Netherlands biorepository storage expansion which became operational in the fourth quarter of 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Rental revenue</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Rental revenue was $2.7 million and $5.4 million for the three and six months ended June 30, 2022, respectively, representing an increase of $892,000 and $2.8 million, or 50% and 105%, compared with 2021. The entirety of these increases were generated organically. Increases in rental revenues are attributable to increased rental volumes to existing customers and the leasing of dedicated storage spaces and other assets through our biological and pharmaceutical services product line.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Costs and operating expenses</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Total costs and operating expenses for three and six months ended June 30, 2022 and 2021 were comprised of the following:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of product, rental, and service revenue</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,194</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,554</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,640</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">41</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,351</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,146</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,205</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,415</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,142</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,273</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">72</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,428</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,045</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">383</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset impairment charges</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,900</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,900</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">NM</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset amortization</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,863</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,882</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">981</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">52</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Acquisition costs</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">272</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(267</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(98</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value of contingent consideration</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,361</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,718</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,079</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(237</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,795</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">35,759</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,036</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">227</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       35
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of product, rental, and service revenue</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">50,640</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,104</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,536</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">94</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,546</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,974</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,572</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">88</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,306</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,164</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,142</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">100</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,209</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,032</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,177</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset impairment charges</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,900</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,900</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">NM</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible asset amortization</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,725</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,815</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,910</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">103</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Acquisition costs</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,271</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,255</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(99</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value of contingent consideration</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,695</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,226</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,921</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(565</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">160,647</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,586</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">107,061</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">200</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Cost of product, rental, and service revenue</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of revenue increased $7.6 million and $24.5 million for the three and six months ended June 30, 2022, or 41% and 94%, respectively, compared to the same period in 2021, due primarily to the acquisitions of Global Cooling and Sexton. In addition to the acquisitions, the Company experienced higher than expected warranty expense and material costs. We expect that cost of product revenue may fluctuate in future quarters based on production volumes, raw material and transportation costs, customer mix, and product mix.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Cost of revenue net of intangible amortization related to acquired technology was 67% and 69% as a percentage of revenue for the three and six months ended June 30, 2022, respectively, and 61% and 57% as a percentage of revenue for the three and six months ended June 30, 2021, respectively. The increase in cost of revenue net of intangible amortization related to acquired technology is a result of increased revenues from lower margin product lines acquired in 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>General and administrative expenses</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">General and administrative (&#x201c;G&amp;A&#x201d;) expense consists primarily of personnel-related costs, non-cash stock-based expense for administrative personnel and members of the board of directors, professional fees, such as accounting and legal, and corporate insurance.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">G&amp;A expenses for the three and six months ended June 30, 2022 increased $4.2 million and $10.6 million, or 59% and 88%, respectively, compared with the same period in 2021. The increase reflects the assumption of G&amp;A expenses related to our acquisitions of Global Cooling in Q2 2021 Sexton in Q3 2021, increased headcount and non-cash stock-based compensation expense, accounting fees, and insurance expense.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We expect G&amp;A expense to increase reflecting the infrastructure and costs related to supporting the larger expected enterprise created as a result of our growth strategy.&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Sales and marketing expenses</i></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Sales and marketing expense (&#x201c;S&amp;M&#x201d;) consists primarily of salaries and other personnel-related costs, non-cash stock-based expense, consulting, trade shows, travel, sales commissions, and advertising.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">S&amp;M expense for the three and six months ended June 30, 2022 increased $2.3 million and $5.1 million, or 72% and 100%, respectively, compared with the same period in 2021. The increase is primarily due to our acquisitions of Global Cooling in Q2 2021 and Sexton in Q3 2021, increased non-cash stock-based expense and increased expenses related to travel and tradeshows.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We expect S&amp;M expense to increase, as we expand our direct selling efforts to support the broader product line offerings resulting from our acquisitions in 2019, 2020, and 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">
       36
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Research and development expenses</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Research and development (&#x201c;R&amp;D&#x201d;) expense consist primarily of salaries and other personnel-related costs, non-cash stock-based expense, consulting, and external product development services.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">R&amp;D expense for the three and six months ended June 30, 2022 increased $383,000 and $2.2 million, or 13% and 43%, respectively, compared with the same period in 2021. The increase is primarily due to our acquisitions of Global Cooling in Q2 2021 and Sexton in Q3 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We expect our R&amp;D expense to increase as we continue to expand, develop, and refine the product lines we acquired in 2019, 2020, and 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Intangible asset impairment charges</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Relates to the non-cash write-down of both indefinite-lived intangible assets and definite-lived intangible assets that resulted from a quantitative fair value assessment performed as of June 30, 2022. Macroeconomic conditions and persisting supply chain challenges have increased the cost of inputs used in the manufacture of our ULT freezer products. In the wake of these increased costs, the Company&#x2019;s updated forecasts for projected net income and net cash flows were lowered, resulting in a lower future expected value of the asset group containing our ULT freezer products. In addition, the Company has opted to focus our ULT research and development group towards launching the next generation of ULT freezers, which involved suspending the development of an early-stage product.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Intangible asset amortization expense</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Amortization expense consists of charges related to the amortization of intangible assets associated with the acquisitions of Astero, SAVSU, CBS, SciSafe, Global Cooling, and Sexton in which we acquired definite-lived intangible assets.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Acquisition costs </i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Acquisition costs consist of legal, accounting, and other due diligence costs incurred related to our SciSafe, Global Cooling, and Sexton acquisitions.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Change in fair value of contingent consideration</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Change in fair value of contingent consideration consists of changes in estimated fair value of our potential earnouts related to our Astero, CBS, and SciSafe acquisitions. The benefit recognized in the three and six months ended June 30, 2022 relates primarily to a decrease in BioLife&#x2019;s share price, as certain contingent consideration arrangements are payable in BioLife&#x2019;s shares.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Other income and expense</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Total other income and expenses for the three and six months ended June 30, 2022 and 2021 were comprised of the following:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Interest expense, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(9</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(121</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">112</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(93</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other (expense) income, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">NM</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total other income, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(31</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(121</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">90</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(74</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Interest expense, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(173</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(137</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(36</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other (expense) income, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">110</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">111</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(11,100</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value of warrant liability</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(121</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">121</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">NM</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total other income, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(63</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(259</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">196</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(76</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Change in fair value of warrant liability. </i>Reflects the changes in fair value associated with the periodic &#x201c;mark to market&#x201d; valuation of certain warrants that were issued in 2014. All outstanding warrants were exercised via a &#x201c;cashless&#x201d; exercise on March 25, 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Interest expense, net</i>. We earn interest on cash held in our money market account. Interest expense in the three and six months ended June 30, 2022 grew compared to 2021 due to debt acquired in the acquisition of Global Cooling and equipment financing.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       37
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Liquidity and capital resources</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On June 30, 2022 and December 31, 2021, we had $47.0 million and $69.9 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next twelve months from the date of the filing of this Form 10-Q. However, the Company may choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, may not be available on reasonable terms, if at all.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Cash flows</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 55%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating activities</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(17,841</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5,902</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(11,939</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Investing activities</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(27,340</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(8,643</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(18,697</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Financing activities</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(470</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">385</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(855</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net decrease in cash and cash equivalents</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(45,651</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(14,160</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(31,491</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Net cash (used in) provided by operating activities</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net cash used by operating activities was $17.8 million during the six months ended June 30, 2022 compared to net cash used by operating activities of $5.9 million during the six months ended June 30, 2021. The increase in cash used by operating activities was primarily the result of the timing of collection and disbursement of working capital related items in accounts receivable, inventories, and accounts payable.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Net cash used in investing activities</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net cash used by investing activities totaled $27.3 million during the six months ended June 30, 2022 compared to net cash used by investing activities of $8.6 million for the six months ended June 30, 2021. The increase in cash used by investing activities was the result of significant investments in available-for-sale marketable securities made in Q2 2022.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Net cash (used in) provided by financing activities</i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net cash used by financing activities totaled $470,000 during the six months ended June 30, 2022, compared to $385,000 during the six months ended June 30, 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Off-balance sheet arrangements</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of June 30, 2022, we did not have any off-balance sheet arrangements.&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Contractual obligations</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We previously disclosed certain contractual obligations and contingencies and commitments relevant to us within the financial statements and Management Discussion and Analysis of Financial Condition and Results of Operations in our Annual Report on Form 10-K for the year ended December 31, 2021, as filed with the SEC. There have been no significant changes to these obligations in the three and six months ended June 30, 2022.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="itemthree" title="itemthree" href="#"></a>Item</b>&#xa0;<b>3.</b> <b>Quantitative and qualitative disclosures about market risk</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Not applicable.</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       38
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="itemfour" title="itemfour" href="#"></a>Item</b>&#xa0;<b>4.</b> <b>Controls and procedures</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Evaluation of Disclosure Controls and Procedures</i>. Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the end of the period covered by this Form 10-Q. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this Form 10-Q were not effective, due to the material weaknesses in our internal controls over financial reporting. As previously reported, we identified material weaknesses in our internal controls over financial reporting as of December 31, 2021 with regard to (i) inappropriately designed entity-level controls impacting the control environment, risk assessment, and monitoring activities to prevent or detect material misstatements to the consolidated financial statements attributed to an insufficient number of qualified resources and inadequate oversight and accountability over the performance of controls, ineffective identification and assessment or risks impacting internal control over financial reporting, and ineffective monitoring controls; (ii) information system logical access within certain key financial systems; (iii) accounting policies and procedures and related controls over complex financial statement areas; (iv) accounting policies, procedures, and related controls over assets held for lease; (v) accounting policies, procedures, and related controls over the preparation and review of projected financial information used in determining the valuation of acquired intangible assets and contingent consideration in business combinations as well as the quantitative impairment analysis of indefinite-lived intangible assets; and (vi) policies, procedures, and related controls over the presentation and disclosure of amounts presented in the consolidated financial statements in accordance with the applicable financial reporting requirements.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Changes in Internal Control Over Financial Reporting</i>. Other than the remediation of a previously identified material weakness as described below, there was no change in our internal control over financial reporting that occurred during the quarter ended June 30, 2022 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Limitations on Effectiveness of Control.</i> Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal controls will prevent all error and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within BioLife Solutions have been detected.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Remediation.</i></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">With respect to the material weakness related to information system logical access within certain key financial systems described above, management has continued to test and evaluate the elements of the remediation plan implemented to date, which consisted of removing administrator access rights from accounting personnel. Based on management&#x2019;s review and the oversight of the Audit Committee, we have determined that this weakness was fully remediated as of June 30, 2022.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">With respect to the other material weaknesses described above, management plans to implement the following measures:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: top;">
     <td style="width: 18pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">&#x25cf;</p> </td>
     <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">The Company plans to hire and retain additional individuals with the appropriate skills related to technical accounting and internal control over financial reporting;</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: top;">
     <td style="width: 18pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">&#x25cf;</p> </td>
     <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">The Company will enhance its reconciliations and management review controls with the added stability of new hires and the implementation of technology solutions to automate visibility and enforcement of the independent review and documentation of journal entries, including proper segregation of duties, thus mitigating risks of both unintentional errors and fraud; and</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: top;">
     <td style="width: 18pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">&#x25cf;</p> </td>
     <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">The Company plans to develop processes and procedures to enhance the precision of management review of financial statement information.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As we continue to evaluate and test the remediation plan outlined above, we may also identify additional measures to address the material weaknesses or modify certain of the remediation procedures described above. We also may implement additional changes to our internal control over financial reporting as may be appropriate in the course of remediating the material weaknesses. Management, with the oversight of the Audit Committee, will continue to take steps necessary to remedy the material weaknesses to reinforce the overall design and capability of our control environment.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwootherinformation" title="parttwootherinformation" href="#"></a>PART II: Other information</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemone" title="parttwoitemone" href="#"></a>Item</b>&#xa0;<b>1. LEGAL PROCEEDINGS</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. We are not currently aware of any such proceedings or claims that we believe will have, individually or in the aggregate, a material adverse effect on our business, financial condition or results of operations.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       39
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemonea" title="parttwoitemonea" href="#"></a>Item 1A. RISK FACTORS</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">The matters discussed in this Quarterly Report on Form 10-Q include forward-looking statements that involve risks or uncertainties. These statements are neither promises nor guarantees, but are based on various assumptions by management regarding future circumstances, over many of which BioLife has little or no control. A number of important risks and uncertainties, including those identified under the caption &#x201c;Risk Factors&#x201d; in Part I, Item 1A of our Annual Report on Form 10-K for the period ended December 31, 2021 and in subsequent filings, could cause our actual results to differ materially from those in the forward-looking statements. There are no material changes to the risk factors described in our Annual Report on Form 10-K for the period ended December 31, 2021.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemtwo" title="parttwoitemtwo" href="#"></a>Item 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">None.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemthree" title="parttwoitemthree" href="#"></a>Item 3. DEFAULTS UPON SENIOR SECURITIES</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">None.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemfour" title="parttwoitemfour" href="#"></a>Item 4. MINE SAFETY DISCLOSURES</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">None.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemfive" title="parttwoitemfive" href="#"></a>Item 5. OTHER INFORMATION</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">None.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     40
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="parttwoitemsix" title="parttwoitemsix" href="#"></a>Item 6. Exhibits</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">
   <tbody>
    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="border-bottom:solid 1px #000000;vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Exhibit No.</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="border-bottom:solid 1px #000000;vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Description</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">31.1</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_406047.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Certification pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">31.2</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_406048.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Certification pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">32.1</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_406049.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">32.2</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_406050.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.INS</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">XBRL Instance Document &#x2013;&#xa0;the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.SCH</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inline XBRL Taxonomy Extension Schema Document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.CAL</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.DEF</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.LAB</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inline XBRL Taxonomy Extension Label Linkbase Document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">101.PRE</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;">&#xa0;</td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:9.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">104</p> </td>
     <td style="vertical-align:top;width:1%;">&#xa0;</td>
     <td style="vertical-align:top;width:88.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101)</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     41
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="sigs" title="sigs" href="#"></a>SIGNATURES</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, the Registrant has duly caused this Report to be signed on its behalf by the undersigned, thereunto duly authorized.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>BIOLIFE SOLUTIONS, INC.</b></p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Date: August 9, 2022</p> </td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">/s/ Troy Wichterman</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Troy Wichterman</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Chief Financial Officer</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">(Duly authorized officer and principal</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">financial and accounting officer)&#xa0;</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: bottom; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 23.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     42
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>BIOLIFE SOLUTIONS, INC.</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>INDEX TO EXHIBITS</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Exhibit No.</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Description</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">31.1</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Certification pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">31.2</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Certification pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">32.1</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">32.2</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.INS</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">XBRL Instance Document &#x2013;&#xa0;the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.SCH</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Inline XBRL Taxonomy Extension Schema Document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.CAL</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.DEF</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.LAB</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Inline XBRL Taxonomy Extension Label Linkbase Document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">101.PRE</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: top; width: 4.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">104</p> </td>
     <td style="vertical-align: top; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 42.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101)</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="LAST-PAGE-BREAK">
   <div class="PGFTR">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       43
     </div>
    </div>
   </div>
  </div>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex_406047.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html><head>
	<title>ex_406047.htm</title>

	<!-- Generated by ThunderDome Portal - 8/3/2022 9:40:45 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;"><b>EXHIBIT 31.1</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>CERTIFICATION PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>RULE 13a-14(a) or RULE 13d-14(a) OF THE </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">I, Michael Rice, certify that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">1. I have reviewed this quarterly report on Form 10-Q of BioLife Solutions, Inc.;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">4. The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal controls over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(c) Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(d) Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">5. The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Date: August 9, 2022</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">/s/ Michael Rice</p>
			</td>
			<td style="vertical-align: bottom; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Michael Rice</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Chief Executive Officer and Chairman of the Board</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;">&nbsp;</p>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex_406048.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<html><head>
	<title>ex_406048.htm</title>

	<!-- Generated by ThunderDome Portal - 8/8/2022 5:46:31 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;"><b>EXHIBIT 31.2</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>CERTIFICATION PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>RULE 13a-14(a) or RULE 13d-14(a) OF THE </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">I, Troy Wichterman, certify that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">1. I have reviewed this quarterly report on Form 10-Q of BioLife Solutions, Inc.;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">4. The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal controls over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(c) Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(d) Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">5. The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Date: August 9, 2022</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">/s/ Troy Wichterman</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Troy Wichterman</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Chief Financial Officer</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;">&nbsp;</p>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ex_406049.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html><head>
	<title>ex_406049.htm</title>

	<!-- Generated by ThunderDome Portal - 8/3/2022 7:34:03 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;"><b>EXHIBIT 32.1</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>CERTIFICATION PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>18 U.S.C. SECTION 1350, </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>AS ADOPTED PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002 </b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In connection with the Quarterly Report of BioLife Solutions, Inc. (the &#8220;Company&#8221;) on Form 10-Q for the period ending June 30, 2022, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Michael Rice, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">1.</p>
			</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</p>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2.</p>
			</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Date: August 9, 2022</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">/s/ Michael Rice</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Michael Rice</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Chief Executive Officer and Chairman of the Board</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>ex_406050.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<html><head>
	<title>ex_406050.htm</title>

	<!-- Generated by ThunderDome Portal - 8/3/2022 7:35:52 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size:10pt;font-family:'Times New Roman';padding:0in .1in;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 8pt;"><b>EXHIBIT 32.2</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>CERTIFICATION PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>18 U.S.C. SECTION 1350, </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>AS ADOPTED PURSUANT TO </b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;"><b>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002 </b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In connection with the Quarterly Report of BioLife Solutions, Inc. (the &#8220;Company&#8221;) on Form 10-Q for the period ending June 30, 2022, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Troy Wichterman, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">1.</p>
			</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</p>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2.</p>
			</td>
			<td style="vertical-align: top; width: 94%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Date: August 9, 2022</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table cellpadding="0pt" cellspacing="0pt" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">/s/ Troy Wichterman</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Troy Wichterman</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Chief Financial Officer</p>
			</td>
			<td style="vertical-align: top; width: 50%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>blfs-20220630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2022-08-09--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:blfs="http://www.biolifesolutions.com/20220630" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.biolifesolutions.com/20220630">
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/naics/2022" schemaLocation="https://xbrl.sec.gov/naics/2022/naics-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2022" schemaLocation="https://xbrl.sec.gov/sic/2022/sic-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2022" schemaLocation="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2022" schemaLocation="https://xbrl.sec.gov/exch/2022/exch-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xsd:import namespace="http://fasb.org/srt-types/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="blfs-20220630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="blfs-20220630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="blfs-20220630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="blfs-20220630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-unaudited-condensed-consolidated-balance-sheets" roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Unaudited Condensed Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-unaudited-condensed-consolidated-statements-of-operations" roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Unaudited Condensed Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-unaudited-condensed-consolidated-statements-of-cash-flows" roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-organization-and-significant-accounting-policies" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 1 - Organization and Significant Accounting Policies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 2 - Fair Value Measurement</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-investments" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 3 - Investments</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventory" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 4 - Inventory</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 5 - Leases</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-assets-held-for-rent" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 6 - Assets Held for Rent</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-and-equipment-" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 7 - Property and Equipment</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-goodwill-and-intangible-assets" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 8 - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses-and-other-current-liabilities" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-warranty-reserve-liability" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 10 - Warranty Reserve Liability</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-longterm-debt" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 11 - Long-term Debt</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-warrants" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 12 - Warrants</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 13 - Revenue</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - Disclosure - Note 14 - Share-based Compensation</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - Disclosure - Note 15 - Acquisitions</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-income-taxes" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 16 - Income Taxes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-net-loss-income-per-common-share" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - Disclosure - Note 17 - Net (Loss) Income Per Common Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-commitments-and-contingencies" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - Disclosure - Note 18 - Commitments and Contingencies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-employee-benefit-plan-" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - Disclosure - Note 19 - Employee Benefit Plan</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-subsequent-events" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - Disclosure - Note 20 - Subsequent Events</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-significant-accounting-policies-policies" roleURI="http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">028 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-organization-and-significant-accounting-policies-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - Disclosure - Note 2 - Fair Value Measurement (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-investments-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - Disclosure - Note 3 - Investments (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventory-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - Disclosure - Note 4 - Inventory (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 5 - Leases (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-assets-held-for-rent-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 6 - Assets Held for Rent (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-and-equipment-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - Disclosure - Note 7 - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-goodwill-and-intangible-assets-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - Disclosure - Note 8 - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses-and-other-current-liabilities-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-warranty-reserve-liability-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">038 - Disclosure - Note 10 - Warranty Reserve Liability (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-longterm-debt-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - Disclosure - Note 11 - Long-term Debt (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-warrants-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - Disclosure - Note 12 - Warrants (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 13 - Revenue (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 14 - Share-based Compensation (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">043 - Disclosure - Note 15 - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-net-loss-income-per-common-share-tables" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">044 - Disclosure - Note 17 - Net (Loss) Income Per Common Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-organization-and-significant-accounting-policies-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">045 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">046 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">047 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">048 - Disclosure - Note 2 - Fair Value Measurement (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">049 - Disclosure - Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">050 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">051 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-investments-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">052 - Disclosure - Note 3 - Investments (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-investments-availableforsale-marketable-securities-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">053 - Disclosure - Note 3 - Investments - Available-For-Sale Marketable Securities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventory-summary-of-inventories-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">054 - Disclosure - Note 4 - Inventory - Summary of Inventories (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">055 - Disclosure - Note 5 - Leases (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases-lease-term-and-discount-rate-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">056 - Disclosure - Note 5 - Leases - Lease Term and Discount Rate (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases-components-of-lease-expense-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">057 - Disclosure - Note 5 - Leases - Components of Lease Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-leases-maturities-of-lease-liabilities-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">058 - Disclosure - Note 5 - Leases - Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-assets-held-for-rent-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">059 - Disclosure - Note 6 - Assets Held for Rent (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-assets-held-for-rent-assets-held-for-rent-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">060 - Disclosure - Note 6 - Assets Held for Rent - Assets Held for Rent (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-and-equipment-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">061 - Disclosure - Note 7 - Property and Equipment (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">062 - Disclosure - Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-goodwill-and-intangible-assets-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">063 - Disclosure - Note 8 - Goodwill and Intangible Assets (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">064 - Disclosure - Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">065 - Disclosure - Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses-and-other-current-liabilities-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">066 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">067 - Disclosure - Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-longterm-debt-longterm-debt-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">068 - Disclosure - Note 11 - Long-term Debt - Long-term Debt (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-longterm-debt-maturities-of-loans-payable-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">069 - Disclosure - Note 11 - Long-term Debt - Maturities of Loans Payable (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-warrants-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">070 - Disclosure - Note 12 - Warrants (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-warrants-summary-of-warrant-activity-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">071 - Disclosure - Note 12 - Warrants - Summary of Warrant Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">072 - Disclosure - Note 13 - Revenue (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue-revenues-by-product-line-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">073 - Disclosure - Note 13 - Revenue - Revenues by Product Line (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue-summary-of-remaining-performance-obligations-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">074 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">075 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">076 - Disclosure - Note 14 - Share-based Compensation (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation-stock-option-activity-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">077 - Disclosure - Note 14 - Share-based Compensation - Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation-restricted-stock-activity-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">078 - Disclosure - Note 14 - Share-based Compensation - Restricted Stock Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-sharebased-compensation-stock-compensation-expense-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">079 - Disclosure - Note 14 - Share-based Compensation - Stock Compensation Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">080 - Disclosure - Note 15 - Acquisitions (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-consideration-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">081 - Disclosure - Note 15 - Acquisitions - Consideration (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">082 - Disclosure - Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-acquired-intangible-assets-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">083 - Disclosure - Note 15 - Acquisitions - Acquired Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-acquisitions-pro-forma-information-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">084 - Disclosure - Note 15 - Acquisitions - Pro Forma Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-income-taxes-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">085 - Disclosure - Note 16 - Income Taxes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">086 - Disclosure - Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">087 - Disclosure - Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-employee-benefit-plan-details-textual" roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">088 - Disclosure - Note 19 - Employee Benefit Plan (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="blfs_AbandonedInProcessResearchAndDevelopmentMember" name="AbandonedInProcessResearchAndDevelopmentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_AccruedExpensesAndOtherCurrentLiabilities" name="AccruedExpensesAndOtherCurrentLiabilities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_AllLocationMember" name="AllLocationMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_AssetsHeldForRentDepreciation" name="AssetsHeldForRentDepreciation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_AssetsHeldForRentNoncurrent" name="AssetsHeldForRentNoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_AssetsHeldForRentTextBlock" name="AssetsHeldForRentTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" name="BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" name="BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" name="BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" name="BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" name="BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" name="BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationContingentConsiderationStockIssued" name="BusinessCombinationContingentConsiderationStockIssued" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationEscrowSharesPeriod" name="BusinessCombinationEscrowSharesPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" name="BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" name="BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" name="BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CBSAcquisitionMember" name="CBSAcquisitionMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" name="CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" name="ClassOfWarrantOrRightExercisedDuringPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" name="ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CommonStockDepositedIntoEscrowMember" name="CommonStockDepositedIntoEscrowMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" name="CommonStockIssuedToAcquireParticipatingHoldersMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_ContingentConsiderationLiabilitiesMember" name="ContingentConsiderationLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CorporateDebtSecuritiesCashEquivalentsMember" name="CorporateDebtSecuritiesCashEquivalentsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CustomerAMember" name="CustomerAMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_CustomerBMember" name="CustomerBMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" name="DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" name="DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_DefinedContributionPlan401KMember" name="DefinedContributionPlan401KMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_DiscreteTaxBenefit" name="DiscreteTaxBenefit" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" name="EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_EquipmentLoansMember" name="EquipmentLoansMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" name="FinanceLeaseLiabilityPaymentsDueAfterYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_FinancedInsurancePremiumMember" name="FinancedInsurancePremiumMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" name="FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_FixedAssetsHeldForRent" name="FixedAssetsHeldForRent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_FreezerEquipmentLoanMember" name="FreezerEquipmentLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_FreezerInstallationLoanMember" name="FreezerInstallationLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_FurnitureAndComputerEquipmentMember" name="FurnitureAndComputerEquipmentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_GCIAcquisitionMember" name="GCIAcquisitionMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_GainLossOnDispositionOfAssetsHeldForRent" name="GainLossOnDispositionOfAssetsHeldForRent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_GeographicOtherMember" name="GeographicOtherMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" name="InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" name="IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_IncreaseDecreaseInWarrantyLiability" name="IncreaseDecreaseInWarrantyLiability" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_IndefiniteInProcessResearchAndDevelopmentMember" name="IndefiniteInProcessResearchAndDevelopmentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" name="InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_LeaseExtensionsMember" name="LeaseExtensionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_LesseeLeasesTextBlock" name="LesseeLeasesTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" name="LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" name="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" name="LiquidityAndCapitalResourcesPolicyPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_LongtermDebtMaturityAfterYearFour" name="LongtermDebtMaturityAfterYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_ManagementPerformanceBonusPlan2017Member" name="ManagementPerformanceBonusPlan2017Member" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_ManufacturingEquipmentLoansMember" name="ManufacturingEquipmentLoansMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_MarketbasedRestrictedStockMember" name="MarketbasedRestrictedStockMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_MarketbasedRestrictedStockSecondIssuanceMember" name="MarketbasedRestrictedStockSecondIssuanceMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_MeasurementInputAssetPriceVolatilityMember" name="MeasurementInputAssetPriceVolatilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_MeasurementInputRevenueVolatilityMember" name="MeasurementInputRevenueVolatilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" name="NonUSGovernmentAgencySecuritiesCashEquivalentsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_NoncashLeaseExpense" name="NoncashLeaseExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" name="NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_OneGCIStockholderMember" name="OneGCIStockholderMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" name="OperatingLeaseCostsAndShorttermLeaseCosts" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_OtherLoansMember" name="OtherLoansMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_PaymentsToAcquireAssetsHeldForRent" name="PaymentsToAcquireAssetsHeldForRent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_PreferredStockSharesDesignated" name="PreferredStockSharesDesignated" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="blfs_ProductCellProcessingMember" name="ProductCellProcessingMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_ProductFreezerAndThawMember" name="ProductFreezerAndThawMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_RealEstateLeaseMember" name="RealEstateLeaseMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_RentalRevenueMember" name="RentalRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_RevenuesByProductLineTableTextBlock" name="RevenuesByProductLineTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" name="RiskAndUncertaintiesPolicyPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" name="ScheduleOfAssetsHeldForRentTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_SciSafeHoldingsIncMember" name="SciSafeHoldingsIncMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_SeriesA1AndA2PreferredStockMember" name="SeriesA1AndA2PreferredStockMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_ServiceRevenueMember" name="ServiceRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_SextonAcquisitionMember" name="SextonAcquisitionMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" name="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" name="SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" name="SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ShippersAndRelatedComponentsInProduction" name="ShippersAndRelatedComponentsInProduction" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" name="ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_ShippersPlacedInServiceDepreciation" name="ShippersPlacedInServiceDepreciation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_ShippersPlacedInServiceGross" name="ShippersPlacedInServiceGross" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_ShippersPlacedInServiceNet" name="ShippersPlacedInServiceNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="blfs_SignificantAccountingPoliciesPolicyTextBlock" name="SignificantAccountingPoliciesPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" name="StockIssuedDuringPeriodSharesCashlessWarrantExercises" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_StockIssuedDuringPeriodSharesContingentConsideration" name="StockIssuedDuringPeriodSharesContingentConsideration" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" name="StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" name="StockIssuedDuringPeriodValueCashlessWarrantExercises" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_StockIssuedDuringPeriodValueContingentConsideration" name="StockIssuedDuringPeriodValueContingentConsideration" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_StorageAndStorageServicesProductRevenueMember" name="StorageAndStorageServicesProductRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_StorageAndStorageServicesRentalRevenueMember" name="StorageAndStorageServicesRentalRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_StorageAndStorageServicesServiceRevenueMember" name="StorageAndStorageServicesServiceRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_The2022TermLoan1Member" name="The2022TermLoan1Member" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_The2022TermLoan2Member" name="The2022TermLoan2Member" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" name="UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" name="UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" name="UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_WarrantLiabilitiesMember" name="WarrantLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_WarrantsExercisedMember" name="WarrantsExercisedMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" name="WarrantsInConnectionWithWaviCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="blfs_WarrantsIncomeStatementImpact" name="WarrantsIncomeStatementImpact" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="blfs_WarrantsTextBlock" name="WarrantsTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_WarrantsToPurchaseCommonStockMember" name="WarrantsToPurchaseCommonStockMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" name="WaviHoldingAgAndTaurus4757GmbhWarrantsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" name="statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" name="statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" name="statement-statement-note-1-organization-and-significant-accounting-policies-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" name="statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-10-warranty-reserve-liability-tables" name="statement-statement-note-10-warranty-reserve-liability-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" name="statement-statement-note-11-longterm-debt-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" name="statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-11-longterm-debt-tables" name="statement-statement-note-11-longterm-debt-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" name="statement-statement-note-12-warrants-summary-of-warrant-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-12-warrants-tables" name="statement-statement-note-12-warrants-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" name="statement-statement-note-13-revenue-revenues-by-product-line-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" name="statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" name="statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-13-revenue-tables" name="statement-statement-note-13-revenue-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" name="statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" name="statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" name="statement-statement-note-14-sharebased-compensation-stock-option-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-14-sharebased-compensation-tables" name="statement-statement-note-14-sharebased-compensation-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" name="statement-statement-note-15-acquisitions-acquired-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-15-acquisitions-consideration-details" name="statement-statement-note-15-acquisitions-consideration-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" name="statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" name="statement-statement-note-15-acquisitions-pro-forma-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-15-acquisitions-tables" name="statement-statement-note-15-acquisitions-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" name="statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" name="statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" name="statement-statement-note-17-net-loss-income-per-common-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" name="statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" name="statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" name="statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-2-fair-value-measurement-tables" name="statement-statement-note-2-fair-value-measurement-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" name="statement-statement-note-3-investments-availableforsale-marketable-securities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-3-investments-tables" name="statement-statement-note-3-investments-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-4-inventory-summary-of-inventories-details" name="statement-statement-note-4-inventory-summary-of-inventories-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-4-inventory-tables" name="statement-statement-note-4-inventory-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-5-leases-components-of-lease-expense-details" name="statement-statement-note-5-leases-components-of-lease-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" name="statement-statement-note-5-leases-lease-term-and-discount-rate-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" name="statement-statement-note-5-leases-maturities-of-lease-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-5-leases-tables" name="statement-statement-note-5-leases-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" name="statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-6-assets-held-for-rent-tables" name="statement-statement-note-6-assets-held-for-rent-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" name="statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-7-property-and-equipment-tables" name="statement-statement-note-7-property-and-equipment-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" name="statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" name="statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" name="statement-statement-note-8-goodwill-and-intangible-assets-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" name="statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" name="statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="blfs_statement-statement-significant-accounting-policies-policies" name="statement-statement-significant-accounting-policies-policies" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>blfs-20220630_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2022-08-09--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-consideration-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:href="blfs-20220630.xsd#statement-note-4-inventory-summary-of-inventories-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersAndRelatedComponentsInProduction" xlink:label="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceNet" xlink:label="blfs_ShippersPlacedInServiceNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:to="blfs_ShippersPlacedInServiceNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:to="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LongtermDebtMaturityAfterYearFour" xlink:label="blfs_LongtermDebtMaturityAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="blfs_LongtermDebtMaturityAfterYearFour" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="us-gaap_OtherLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="us-gaap_DeferredCompensationLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentNoncurrent" xlink:label="blfs_AssetsHeldForRentNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent" xlink:label="us-gaap_RestrictedCashCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_RestrictedCashCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="blfs_AssetsHeldForRentNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DepositsAssetsNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInWarrantyLiability" xlink:label="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashLeaseExpense" xlink:label="blfs_NoncashLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PaymentsToAcquireAssetsHeldForRent" xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt" xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="blfs_NoncashLeaseExpense" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:type="arc"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="arc"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:calculationArc order="16" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:calculationArc order="17" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfDebt" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LongTermDebtFairValue" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_CostsAndExpenses" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsIncomeStatementImpact" xlink:label="blfs_WarrantsIncomeStatementImpact" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:label="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="blfs_WarrantsIncomeStatementImpact" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>blfs-20220630_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2022-08-09--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events" xlink:href="blfs-20220630.xsd#statement-note-20-subsequent-events" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies" xlink:href="blfs-20220630.xsd#statement-note-18-commitments-and-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory" xlink:href="blfs-20220630.xsd#statement-note-4-inventory" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information" xlink:href="blfs-20220630.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="24" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:definitionArc order="25" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:definitionArc order="26" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:definitionArc order="27" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="28" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:definitionArc order="29" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PreferredStockSharesDesignated" xlink:label="blfs_PreferredStockSharesDesignated" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_PreferredStockSharesDesignated" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CBSAcquisitionMember" xlink:label="blfs_CBSAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputAssetPriceVolatilityMember" xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputRevenueVolatilityMember" xlink:label="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SciSafeHoldingsIncMember" xlink:label="blfs_SciSafeHoldingsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_CBSAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_MeasurementInputTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputDiscountRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SciSafeHoldingsIncMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments" xlink:href="blfs-20220630.xsd#statement-note-3-investments" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SeriesA1AndA2PreferredStockMember" xlink:label="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContingentConvertiblePreferredStockMember" xlink:label="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTextBlock" xlink:label="us-gaap_InvestmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InvestmentTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_SeriesEPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InvestmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases" xlink:href="blfs-20220630.xsd#statement-note-5-leases" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LeaseExtensionsMember" xlink:label="blfs_LeaseExtensionsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeLeasesTextBlock" xlink:label="blfs_LesseeLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RealEstateLeaseMember" xlink:label="blfs_RealEstateLeasemember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="blfs_RealEstateLeasemember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="blfs_LeaseExtensionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_LesseeLeasesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentTextBlock" xlink:label="blfs_AssetsHeldForRentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_AssetsHeldForRentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants" xlink:href="blfs-20220630.xsd#statement-note-12-warrants" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsExercisedMember" xlink:label="blfs_WarrantsExercisedMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsTextBlock" xlink:label="blfs_WarrantsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsToPurchaseCommonStockMember" xlink:label="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsExercisedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_WarrantsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue" xlink:href="blfs-20220630.xsd#statement-note-13-revenue" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManagementPerformanceBonusPlan2017Member" xlink:label="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockDepositedIntoEscrowMember" xlink:label="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OneGCIStockholderMember" xlink:label="blfs_OneGCIStockholderMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:to="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:to="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="blfs_OneGCIStockholderMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes" xlink:href="blfs-20220630.xsd#statement-note-16-income-taxes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-" xlink:href="blfs-20220630.xsd#statement-note-19-employee-benefit-plan-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DefinedContributionPlan401KMember" xlink:label="blfs_DefinedContributionPlan401KMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanTextBlock" xlink:label="us-gaap_DefinedContributionPlanTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanNameDomain" xlink:to="blfs_DefinedContributionPlan401KMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DefinedContributionPlanTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies" xlink:href="blfs-20220630.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:label="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:label="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:label="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ContingentConsiderationLiabilitiesMember" xlink:label="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantLiabilitiesMember" xlink:label="blfs_WarrantLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="blfs_WarrantLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables" xlink:href="blfs-20220630.xsd#statement-note-3-investments-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables" xlink:href="blfs-20220630.xsd#statement-note-4-inventory-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables" xlink:href="blfs-20220630.xsd#statement-note-5-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:label="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:label="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RevenuesByProductLineTableTextBlock" xlink:label="blfs_RevenuesByProductLineTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_RevenuesByProductLineTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CBSAcquisitionMember" xlink:label="blfs_CBSAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputAssetPriceVolatilityMember" xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputRevenueVolatilityMember" xlink:label="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SciSafeHoldingsIncMember" xlink:label="blfs_SciSafeHoldingsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_CBSAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_MeasurementInputTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputDiscountRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SciSafeHoldingsIncMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual" xlink:href="blfs-20220630.xsd#statement-note-3-investments-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SeriesA1AndA2PreferredStockMember" xlink:label="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContingentConvertiblePreferredStockMember" xlink:label="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:label="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InvestmentTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_SeriesEPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual" xlink:href="blfs-20220630.xsd#statement-note-5-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LeaseExtensionsMember" xlink:label="blfs_LeaseExtensionsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RealEstateLeaseMember" xlink:label="blfs_RealEstateLeasemember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="blfs_RealEstateLeasemember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="blfs_LeaseExtensionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentDepreciation" xlink:label="blfs_AssetsHeldForRentDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_AssetsHeldForRentDepreciation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsExercisedMember" xlink:label="blfs_WarrantsExercisedMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsToPurchaseCommonStockMember" xlink:label="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="blfs_WarrantsExercisedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManagementPerformanceBonusPlan2017Member" xlink:label="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationEscrowSharesPeriod" xlink:label="blfs_BusinessCombinationEscrowSharesPeriod" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockDepositedIntoEscrowMember" xlink:label="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OneGCIStockholderMember" xlink:label="blfs_OneGCIStockholderMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:label="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableNet" xlink:label="us-gaap_NotesReceivableNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:to="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:to="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="blfs_OneGCIStockholderMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NotesReceivableNet" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationEscrowSharesPeriod" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual" xlink:href="blfs-20220630.xsd#statement-note-16-income-taxes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DiscreteTaxBenefit" xlink:label="blfs_DiscreteTaxBenefit" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DiscreteTaxBenefit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual" xlink:href="blfs-20220630.xsd#statement-note-19-employee-benefit-plan-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DefinedContributionPlan401KMember" xlink:label="blfs_DefinedContributionPlan401KMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanNameDomain" xlink:to="blfs_DefinedContributionPlan401KMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:href="blfs-20220630.xsd#statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-consideration-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:href="blfs-20220630.xsd#statement-note-4-inventory-summary-of-inventories-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FixedAssetsHeldForRent" xlink:label="blfs_FixedAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersAndRelatedComponentsInProduction" xlink:label="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceDepreciation" xlink:label="blfs_ShippersPlacedInServiceDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceGross" xlink:label="blfs_ShippersPlacedInServiceGross" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceNet" xlink:label="blfs_ShippersPlacedInServiceNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FixedAssetsHeldForRent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceDepreciation" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LongtermDebtMaturityAfterYearFour" xlink:label="blfs_LongtermDebtMaturityAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_LongtermDebtMaturityAfterYearFour" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_WeightedAverageMember" xlink:label="srt_WeightedAverageMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_WeightedAverageMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinancedInsurancePremiumMember" xlink:label="blfs_FinancedInsurancePremiumMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerEquipmentLoanMember" xlink:label="blfs_FreezerEquipmentLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerInstallationLoanMember" xlink:label="blfs_FreezerInstallationLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManufacturingEquipmentLoansMember" xlink:label="blfs_ManufacturingEquipmentLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OtherLoansMember" xlink:label="blfs_OtherLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan1Member" xlink:label="blfs_The2022TermLoan1Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan2Member" xlink:label="blfs_The2022TermLoan2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_The2022TermLoan1Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_The2022TermLoan2Member" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_FinancedInsurancePremiumMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_FreezerEquipmentLoanMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_ManufacturingEquipmentLoansMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_FreezerInstallationLoanMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_OtherLoansMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentNoncurrent" xlink:label="blfs_AssetsHeldForRentNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent" xlink:label="us-gaap_RestrictedCashCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_RestrictedCashCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="blfs_AssetsHeldForRentNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DepositsAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:label="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EquipmentLoansMember" xlink:label="blfs_EquipmentLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinancedInsurancePremiumMember" xlink:label="blfs_FinancedInsurancePremiumMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInWarrantyLiability" xlink:label="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashLeaseExpense" xlink:label="blfs_NoncashLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:label="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PaymentsToAcquireAssetsHeldForRent" xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt" xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_EquipmentLoansMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="blfs_FinancedInsurancePremiumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="blfs_NoncashLeaseExpense" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfDebt" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerAMember" xlink:label="blfs_CustomerAMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerBMember" xlink:label="blfs_CustomerBMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="blfs_CustomerAMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="blfs_CustomerBMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AllLocationMember" xlink:label="blfs_AllLocationMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GeographicOtherMember" xlink:label="blfs_GeographicOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="blfs_GeographicOtherMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="blfs_AllLocationMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:label="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:label="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherDebtSecuritiesMember" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_MoneyMarketFundsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FinancialInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_OtherDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtFairValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ContingentConsiderationLiabilitiesMember" xlink:label="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantLiabilitiesMember" xlink:label="blfs_WarrantLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="blfs_WarrantLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost" xlink:label="us-gaap_VariableLeaseCost" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_VariableLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FurnitureAndComputerEquipmentMember" xlink:label="blfs_FurnitureAndComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ManufacturingFacilityMember" xlink:label="us-gaap_ManufacturingFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="blfs_FurnitureAndComputerEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ManufacturingFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPayments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-pro-forma-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:label="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details" xlink:href="blfs-20220630.xsd#statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherDebtSecuritiesMember" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FinancialInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_OtherDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-revenues-by-product-line-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductCellProcessingMember" xlink:label="blfs_ProductCellProcessingMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductFreezerAndThawMember" xlink:label="blfs_ProductFreezerAndThawMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesProductRevenueMember" xlink:label="blfs_StorageAndStorageServicesProductRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesRentalRevenueMember" xlink:label="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesServiceRevenueMember" xlink:label="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_ProductFreezerAndThawMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_ProductCellProcessingMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_StorageAndStorageServicesProductRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsIncomeStatementImpact" xlink:label="blfs_WarrantsIncomeStatementImpact" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:label="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_WarrantsIncomeStatementImpact" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:href="blfs-20220630.xsd#statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_PreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_SeriesAPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>blfs-20220630_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2022-08-09--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DocumentAndEntityInformation" xlink:label="blfs_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="blfs_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_DocumentAndEntityInformation" xlink:to="blfs_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Developed technology</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_MarketbasedRestrictedStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Market-based Restricted Stock [Member]</link:label>
    <link:label xlink:label="blfs_MarketbasedRestrictedStockMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to market-based restricted stock.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_MarketbasedRestrictedStockMember" xlink:to="blfs_MarketbasedRestrictedStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="blfs_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="blfs_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total identifiable intangible assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-significant-accounting-policies-policies" xlink:label="blfs_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-significant-accounting-policies-policies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-significant-accounting-policies-policies" xlink:to="blfs_statement-statement-significant-accounting-policies-policies-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Organization and Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:to="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-2-fair-value-measurement-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Fair Value Measurement</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:to="blfs_statement-statement-note-2-fair-value-measurement-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-3-investments-tables" xlink:label="blfs_statement-statement-note-3-investments-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-3-investments-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-3-investments-tables" xlink:to="blfs_statement-statement-note-3-investments-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-4-inventory-tables" xlink:label="blfs_statement-statement-note-4-inventory-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-4-inventory-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Inventory</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-4-inventory-tables" xlink:to="blfs_statement-statement-note-4-inventory-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-tables" xlink:label="blfs_statement-statement-note-5-leases-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-5-leases-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-5-leases-tables" xlink:to="blfs_statement-statement-note-5-leases-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">In-process research and development</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Assets Held for Rent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:to="blfs_statement-statement-note-6-assets-held-for-rent-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-7-property-and-equipment-tables" xlink:label="blfs_statement-statement-note-7-property-and-equipment-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-7-property-and-equipment-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Property and Equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-7-property-and-equipment-tables" xlink:to="blfs_statement-statement-note-7-property-and-equipment-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:type="locator"/>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Historical Volatility Rate</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents historical volatility for fair value assumptions for share-based payment award by share based compensation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Goodwill and Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:to="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Accrued Expenses and Other Current Liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:to="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Warranty Reserve Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:to="blfs_statement-statement-note-10-warranty-reserve-liability-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrealized loss on available-for-sale securities, net of tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-tables" xlink:label="blfs_statement-statement-note-11-longterm-debt-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-11-longterm-debt-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Long-term Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-11-longterm-debt-tables" xlink:to="blfs_statement-statement-note-11-longterm-debt-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-12-warrants-tables" xlink:label="blfs_statement-statement-note-12-warrants-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-12-warrants-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Warrants</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-12-warrants-tables" xlink:to="blfs_statement-statement-note-12-warrants-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration, current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-tables" xlink:label="blfs_statement-statement-note-13-revenue-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-13-revenue-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-13-revenue-tables" xlink:to="blfs_statement-statement-note-13-revenue-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Maturities of Long-Term Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-14-sharebased-compensation-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Share-based Compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:to="blfs_statement-statement-note-14-sharebased-compensation-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-tables" xlink:label="blfs_statement-statement-note-15-acquisitions-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-15-acquisitions-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-15-acquisitions-tables" xlink:to="blfs_statement-statement-note-15-acquisitions-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Net (Loss) Income Per Common Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:to="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label xlink:label="us-gaap_OtherLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherLiabilitiesCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:to="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Value of issued shares</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock issued as consideration to acquire Global Cooling, Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:to="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:to="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Merger Consideration</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationConsiderationTransferred1</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:to="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:to="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:label="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Investments - Available-For-Sale Marketable Securities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:to="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:label="blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-4-inventory-summary-of-inventories-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Inventory - Summary of Inventories (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:to="blfs_statement-statement-note-4-inventory-summary-of-inventories-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:label="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Leases - Lease Term and Discount Rate (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:to="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:label="blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-5-leases-components-of-lease-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Leases - Components of Lease Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:to="blfs_statement-statement-note-5-leases-components-of-lease-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:label="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Leases - Maturities of Lease Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:to="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Assets Held for Rent - Assets Held for Rent (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:to="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:label="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:to="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:to="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:to="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Accrued Expenses and Other Current Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:to="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherDebtSecuritiesMember" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherDebtSecuritiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Debt Obligations [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherDebtSecuritiesMember" xlink:to="us-gaap_OtherDebtSecuritiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:to="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:label="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Long-term Debt - Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:to="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Non-vested as of June 30, 2022 (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding at beginning of year, grant date fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:label="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Long-term Debt - Maturities of Loans Payable (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:to="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:label="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Warrants - Summary of Warrant Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:to="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued compensation</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredCompensationLiabilityCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationLiabilityCurrent" xlink:to="us-gaap_DeferredCompensationLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Non-vested as of June 30, 2022 (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:label="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Revenue - Revenues by Product Line (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:to="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:to="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DefinedContributionPlan401KMember" xlink:label="blfs_DefinedContributionPlan401KMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_DefinedContributionPlan401KMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, 401 K [Member]</link:label>
    <link:label xlink:label="blfs_DefinedContributionPlan401KMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to 401 k defined contribution plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_DefinedContributionPlan401KMember" xlink:to="blfs_DefinedContributionPlan401KMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:to="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">US Government Agencies Debt Securities [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:to="us-gaap_USGovernmentAgenciesDebtSecuritiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Share-based Compensation - Stock Option Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:to="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Share-based Compensation - Restricted Stock Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:to="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Vested (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CorporateDebtSecuritiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Debt Securities [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateDebtSecuritiesMember" xlink:to="us-gaap_CorporateDebtSecuritiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Share-based Compensation - Stock Compensation Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:to="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:label="blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-15-acquisitions-consideration-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Acquisitions - Consideration (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:to="blfs_statement-statement-note-15-acquisitions-consideration-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:label="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:to="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:label="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Acquisitions - Acquired Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:to="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt, current portion</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:label="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Acquisitions - Pro Forma Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:to="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:to="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:label="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="locator"/>
    <link:label xlink:label="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:to="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatements" xlink:label="blfs_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="blfs_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NotesToFinancialStatements" xlink:to="blfs_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="blfs_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="blfs_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Options exercisable, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income (loss)</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other comprehensive (loss) income:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock options exercisable as of June 30, 2022 (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total revenue</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaRevenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Indefinite In Process Research and Development [Member]</link:label>
    <link:label xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to indefinite.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:to="blfs_IndefiniteInProcessResearchAndDevelopmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Investment in available-for-sale securities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:type="locator"/>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Aggregate Fair Value</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Measurement Input</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EquipmentLoansMember" xlink:label="blfs_EquipmentLoansMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_EquipmentLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equipment Loans [Member]</link:label>
    <link:label xlink:label="blfs_EquipmentLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents equipment loans.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_EquipmentLoansMember" xlink:to="blfs_EquipmentLoansMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanNameDomain" xlink:to="us-gaap_RetirementPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding as of June 30, 2022 (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue, current</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiabilityCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinancialInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccruedLiabilitiesCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedIncomeTaxesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued taxes</link:label>
    <link:label xlink:label="us-gaap_AccruedIncomeTaxesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccruedIncomeTaxesCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PensionPlansDefinedBenefitMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pension Plan [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionPlansDefinedBenefitMember" xlink:to="us-gaap_PensionPlansDefinedBenefitMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductCellProcessingMember" xlink:label="blfs_ProductCellProcessingMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_ProductCellProcessingMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product, Cell Processing [Member]</link:label>
    <link:label xlink:label="blfs_ProductCellProcessingMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to cell processing product.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ProductCellProcessingMember" xlink:to="blfs_ProductCellProcessingMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Gross Receivables</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Gross amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding as of June 30, 2022 (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Uncollectable Receivables</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Uncollectable amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Purchase of property and equipment not yet paid</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SciSafeHoldingsIncMember" xlink:label="blfs_SciSafeHoldingsIncMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_SciSafeHoldingsIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SciSafe Holdings, Inc [Member]</link:label>
    <link:label xlink:label="blfs_SciSafeHoldingsIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to SciSafe Holdings, Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SciSafeHoldingsIncMember" xlink:to="blfs_SciSafeHoldingsIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductFreezerAndThawMember" xlink:label="blfs_ProductFreezerAndThawMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_ProductFreezerAndThawMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product, Freezer and Thaw [Member]</link:label>
    <link:label xlink:label="blfs_ProductFreezerAndThawMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to freezer and thaw product.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ProductFreezerAndThawMember" xlink:to="blfs_ProductFreezerAndThawMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromSaleOfMachineryAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from sale of equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfMachineryAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TradeNamesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade Names [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyAccrualClassifiedCurrent</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Warranty liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrants (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Indefinite-Lived Intangible Assets [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Indefinite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangements (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:type="locator"/>
    <link:label xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_OperatingLeaseCostsAndShorttermLeaseCosts</link:label>
    <link:label xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating lease costs</link:label>
    <link:label xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of operating lease costs along with short-term lease costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:to="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average shares used to compute (loss) earnings per share attributable to common shareholders:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncompeteAgreementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DevelopedTechnologyRightsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtFairValue-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Debt</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtFairValue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtFairValue" xlink:to="us-gaap_LongTermDebtFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Technology-Based Intangible Assets [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsToPurchaseCommonStockMember" xlink:label="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantsToPurchaseCommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrants to Purchase Common Stock [Member]</link:label>
    <link:label xlink:label="blfs_WarrantsToPurchaseCommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to warrants to purchase common stock.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantsToPurchaseCommonStockMember" xlink:to="blfs_WarrantsToPurchaseCommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod</link:label>
    <link:label xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Period (Year)</link:label>
    <link:label xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents expected volatility rate period for share based payment award by share based payment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:to="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net (loss) income allocated to common shareholders</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerRelationshipsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTextBlock" xlink:label="us-gaap_InvestmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTextBlock" xlink:to="us-gaap_InvestmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Diluted (loss) earnings per common share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Interest Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Interest Issued or Issuable, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net (loss) income</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net (loss) income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Carrying Value</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentNoncurrent" xlink:label="blfs_AssetsHeldForRentNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="blfs_AssetsHeldForRentNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets held for rent, net</link:label>
    <link:label xlink:label="blfs_AssetsHeldForRentNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of assets held for rent classified as noncurrent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AssetsHeldForRentNoncurrent" xlink:to="blfs_AssetsHeldForRentNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PaymentsToAcquireAssetsHeldForRent" xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:type="locator"/>
    <link:label xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_PaymentsToAcquireAssetsHeldForRent</link:label>
    <link:label xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of assets held for rent</link:label>
    <link:label xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash outflow for payments to acquire assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_PaymentsToAcquireAssetsHeldForRent" xlink:to="blfs_PaymentsToAcquireAssetsHeldForRent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: Accumulated depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill, Ending Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Property and equipment</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PropertyPlantAndEquipmentGross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:label="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_ScheduleOfAssetsHeldForRentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scheduleof Assets Held for Rent [Table Text Block]</link:label>
    <link:label xlink:label="blfs_ScheduleOfAssetsHeldForRentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:to="blfs_ScheduleOfAssetsHeldForRentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentTextBlock" xlink:label="blfs_AssetsHeldForRentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_AssetsHeldForRentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets Held For Rent [Text Block]</link:label>
    <link:label xlink:label="blfs_AssetsHeldForRentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AssetsHeldForRentTextBlock" xlink:to="blfs_AssetsHeldForRentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersAndRelatedComponentsInProduction" xlink:label="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShippersAndRelatedComponentsInProduction-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shippers and related components in production</link:label>
    <link:label xlink:label="blfs_ShippersAndRelatedComponentsInProduction-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The carrying value of shippers and related components in production.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShippersAndRelatedComponentsInProduction" xlink:to="blfs_ShippersAndRelatedComponentsInProduction-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceNet" xlink:label="blfs_ShippersPlacedInServiceNet" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShippersPlacedInServiceNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net</link:label>
    <link:label xlink:label="blfs_ShippersPlacedInServiceNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The carrying value of shippers placed in service, net of accumulated depreciation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShippersPlacedInServiceNet" xlink:to="blfs_ShippersPlacedInServiceNet-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceDepreciation" xlink:label="blfs_ShippersPlacedInServiceDepreciation" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShippersPlacedInServiceDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated depreciation</link:label>
    <link:label xlink:label="blfs_ShippersPlacedInServiceDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of depreciation related to shippers placed in service.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShippersPlacedInServiceDepreciation" xlink:to="blfs_ShippersPlacedInServiceDepreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceGross" xlink:label="blfs_ShippersPlacedInServiceGross" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShippersPlacedInServiceGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shippers placed in service</link:label>
    <link:label xlink:label="blfs_ShippersPlacedInServiceGross-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The gross value of shippers placed in service.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShippersPlacedInServiceGross" xlink:to="blfs_ShippersPlacedInServiceGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherOperatingActivitiesCashFlowStatement</link:label>
    <link:label xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:label="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount</link:label>
    <link:label xlink:label="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Securities without Readily Determinable Fair Value, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:to="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Marketable debt securities</link:label>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net (loss) income attributable to common shareholders:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">WAVI Holding AG and Taurus4757 GmbH Warrants [Member]</link:label>
    <link:label xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the warrants issued to WAVI Holding AG and Taurus4757 GmbH.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:to="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:label xlink:label="country_CA-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CANADA</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit), Total</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Income tax benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation</link:label>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amount attributable to unvested restricted shares</link:label>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the basic earnings (loss) per share or per unit calculation under the two-class method.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="locator"/>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amount attributable to warrants outstanding</link:label>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of undistributed earnings (loss) allocated to participating securities of warrants outstanding for the basic earnings (loss) per share or per unit calculation under the two-class method.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</link:label>
    <link:label xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and administrative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent</link:label>
    <link:label xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="locator"/>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cashless warrant exercises (in shares)</link:label>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right, Exercised During Period (in shares)</link:label>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Exercised, number of shares (in shares)</link:label>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of warrants or rights exercised during period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock compensation expense</link:label>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Change in fair value recognized in net (loss) income</link:label>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice</link:label>
    <link:label xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Exercise price per share of warrants or rights exercised during period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ComprehensiveIncomeNetOfTax</link:label>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Comprehensive (loss) income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UseOfEstimates-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsIncomeStatementImpact" xlink:label="blfs_WarrantsIncomeStatementImpact" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantsIncomeStatementImpact-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_WarrantsIncomeStatementImpact</link:label>
    <link:label xlink:label="blfs_WarrantsIncomeStatementImpact-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Amount attributable to warrants</link:label>
    <link:label xlink:label="blfs_WarrantsIncomeStatementImpact-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of warrants that is an adjustment to net income.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantsIncomeStatementImpact" xlink:to="blfs_WarrantsIncomeStatementImpact-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses and other current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</link:label>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Loss on disposal of property and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">BioLife shares outstanding (as of March 19, 2021) (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_ServiceRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Service Revenue [Member]</link:label>
    <link:label xlink:label="blfs_ServiceRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the service revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ServiceRevenueMember" xlink:to="blfs_ServiceRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableNet" xlink:label="us-gaap_NotesReceivableNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NotesReceivableNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NotesReceivableNet</link:label>
    <link:label xlink:label="us-gaap_NotesReceivableNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financing Receivable, after Allowance for Credit Loss, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesReceivableNet" xlink:to="us-gaap_NotesReceivableNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost" xlink:label="us-gaap_VariableLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable lease costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableLeaseCost" xlink:to="us-gaap_VariableLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total lease costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average discount rate - operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShortTermLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term lease costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCostTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equipment acquired under finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:type="locator"/>
    <link:label xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_GainLossOnDispositionOfAssetsHeldForRent</link:label>
    <link:label xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">(Gain) loss on disposal of assets held for rent, net</link:label>
    <link:label xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of gain (loss) on sale or disposal of assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:to="blfs_GainLossOnDispositionOfAssetsHeldForRent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average remaining lease term in years - operating leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ContingentConsiderationLiabilitiesMember" xlink:label="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_ContingentConsiderationLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent Consideration Liabilities [Member]</link:label>
    <link:label xlink:label="blfs_ContingentConsiderationLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to contingent consideration liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ContingentConsiderationLiabilitiesMember" xlink:to="blfs_ContingentConsiderationLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetImpairmentCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible asset impairment charges</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:label="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:type="locator"/>
    <link:label xlink:label="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equipment acquired under operating leases</link:label>
    <link:label xlink:label="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The equipment acquired under operating leases in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:to="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</link:label>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration earned</link:label>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</link:label>
    <link:label xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised warrants</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ImpairmentOfIntangibleAssetsFinitelived</link:label>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Impairment of Intangible Assets, Finite-Lived</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims</link:label>
    <link:label xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Percentage of Equity Issuable Shares Held in Escrow Accounts for Post Closing Claims</link:label>
    <link:label xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the percentage of equity issuable shares held in escrow accounts for post-closing indemnification claims.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:to="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</link:label>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Impairment of Intangible Assets, Indefinite-Lived (Excluding Goodwill)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, trade, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Revenue by customers' geographic locations, percentage</link:label>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration by customer</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByLiabilityClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueByLiabilityClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value by Liability Class [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Fees incurred for registration filings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible asset amortization</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeographicConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographic Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerEquipmentLoanMember" xlink:label="blfs_FreezerEquipmentLoanMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_FreezerEquipmentLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Freezer Equipment Loan [Member]</link:label>
    <link:label xlink:label="blfs_FreezerEquipmentLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to freezer equipment loan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FreezerEquipmentLoanMember" xlink:to="blfs_FreezerEquipmentLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputAssetPriceVolatilityMember" xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input, Asset Price Volatility [Member]</link:label>
    <link:label xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the asset price volatility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:to="blfs_MeasurementInputAssetPriceVolatilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManufacturingEquipmentLoansMember" xlink:label="blfs_ManufacturingEquipmentLoansMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_ManufacturingEquipmentLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manufacturing Equipment Loans [Member]</link:label>
    <link:label xlink:label="blfs_ManufacturingEquipmentLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the manufacturing equipment loans.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ManufacturingEquipmentLoansMember" xlink:to="blfs_ManufacturingEquipmentLoansMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerInstallationLoanMember" xlink:label="blfs_FreezerInstallationLoanMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_FreezerInstallationLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Freezer Installation Loan [Member]</link:label>
    <link:label xlink:label="blfs_FreezerInstallationLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to freezer installation loan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FreezerInstallationLoanMember" xlink:to="blfs_FreezerInstallationLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OtherLoansMember" xlink:label="blfs_OtherLoansMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_OtherLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Loans [Member]</link:label>
    <link:label xlink:label="blfs_OtherLoansMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to other loans.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_OtherLoansMember" xlink:to="blfs_OtherLoansMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SalesRevenueNetMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentTypeCategorizationMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_InvestmentTypeCategorizationMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentDepreciation" xlink:label="blfs_AssetsHeldForRentDepreciation" xlink:type="locator"/>
    <link:label xlink:label="blfs_AssetsHeldForRentDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_AssetsHeldForRentDepreciation</link:label>
    <link:label xlink:label="blfs_AssetsHeldForRentDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets Held for Rent, Depreciation</link:label>
    <link:label xlink:label="blfs_AssetsHeldForRentDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of depreciation expenses recognized for assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AssetsHeldForRentDepreciation" xlink:to="blfs_AssetsHeldForRentDepreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashLeaseExpense" xlink:label="blfs_NoncashLeaseExpense" xlink:type="locator"/>
    <link:label xlink:label="blfs_NoncashLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-cash lease expense</link:label>
    <link:label xlink:label="blfs_NoncashLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of noncash lease expense.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NoncashLeaseExpense" xlink:to="blfs_NoncashLeaseExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock issued in acquisitions (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock issued in acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock issued &#8211; on vested RSAs (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock option exercises</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock issued &#8211; on vested RSAs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SeriesA1AndA2PreferredStockMember" xlink:label="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_SeriesA1AndA2PreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Series A-1 and A-2, Preferred Stock [Member]</link:label>
    <link:label xlink:label="blfs_SeriesA1AndA2PreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to series A-1 and A-2 preferred stock.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SeriesA1AndA2PreferredStockMember" xlink:to="blfs_SeriesA1AndA2PreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales and marketing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:type="locator"/>
    <link:label xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet</link:label>
    <link:label xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents shippers placed in service and fixed assets held for rent, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:to="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsExercisedMember" xlink:label="blfs_WarrantsExercisedMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantsExercisedMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrants Exercised [Member]</link:label>
    <link:label xlink:label="blfs_WarrantsExercisedMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents warrants exercised.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantsExercisedMember" xlink:to="blfs_WarrantsExercisedMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and shareholders&#8217; equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:label xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour</link:label>
    <link:label xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter, operating leases</link:label>
    <link:label xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Work in progress</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="locator"/>
    <link:label xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour</link:label>
    <link:label xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter, finance leases</link:label>
    <link:label xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:label="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating and Finance Lease Term And Discount Rate [Table Text Block]</link:label>
    <link:label xlink:label="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure represents the operating and finance lease term and discount rate of leases.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:to="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:label xlink:label="country_US-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in operating assets and liabilities, net of effects of acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated deficit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and development</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss, net of taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MoneyMarketFundsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MeasurementInputDiscountRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input, Discount Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputDiscountRateMember" xlink:to="us-gaap_MeasurementInputDiscountRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_GCIAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">GCI Acquisition [Member]</link:label>
    <link:label xlink:label="blfs_GCIAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the GCI acquisition.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_GCIAcquisitionMember" xlink:to="blfs_GCIAcquisitionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MeasurementInputPriceVolatilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input, Price Volatility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputPriceVolatilityMember" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Market-based Restricted Stock Second Issuance [Member]</link:label>
    <link:label xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the second issuance of market-based restricted stock.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:to="blfs_MarketbasedRestrictedStockSecondIssuanceMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input, Risk Free Interest Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease liabilities, operating, long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total present value of operating lease liabilities</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease liabilities, operating, current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease liabilities, financing, current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total intangible assets, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease liabilities, financing, long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepositsAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term deposits and other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease right-of-use assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating lease payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: operating lease interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total present value of financing lease liabilities</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred income tax benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MeasurementInputTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MeasurementInputTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeDomain" xlink:to="us-gaap_MeasurementInputTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2022 (6 months remaining)</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing lease right-of-use assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeLeasesTextBlock" xlink:label="blfs_LesseeLeasesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_LesseeLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Leases [Text Block]</link:label>
    <link:label xlink:label="blfs_LesseeLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for operating and financing leases of lessee.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LesseeLeasesTextBlock" xlink:to="blfs_LesseeLeasesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2026</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:type="locator"/>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Awards</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percent of shares that may be issued in accordance with the plan as a proportion of outstanding awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FixedAssetsHeldForRent" xlink:label="blfs_FixedAssetsHeldForRent" xlink:type="locator"/>
    <link:label xlink:label="blfs_FixedAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fixed assets held for rent</link:label>
    <link:label xlink:label="blfs_FixedAssetsHeldForRent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the fixed assets held for rent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FixedAssetsHeldForRent" xlink:to="blfs_FixedAssetsHeldForRent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueAdjustmentOfWarrants-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in fair value of warrant liability</link:label>
    <link:label xlink:label="us-gaap_FairValueAdjustmentOfWarrants-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Change in fair value of warrant liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAdjustmentOfWarrants" xlink:to="us-gaap_FairValueAdjustmentOfWarrants-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022 (6 months remaining), operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, estimated useful life (Year)</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Useful Life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputRevenueVolatilityMember" xlink:label="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_MeasurementInputRevenueVolatilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Input, Revenue Volatility [Member]</link:label>
    <link:label xlink:label="blfs_MeasurementInputRevenueVolatilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Measurement input using rate at which revenue of security will increase (decrease) for given set of returns.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_MeasurementInputRevenueVolatilityMember" xlink:to="blfs_MeasurementInputRevenueVolatilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpensesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Costs and operating expenses:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsFairValueDisclosure</link:label>
    <link:label xlink:label="us-gaap_AssetsFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinancedInsurancePremiumMember" xlink:label="blfs_FinancedInsurancePremiumMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_FinancedInsurancePremiumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financed Insurance Premium [Member]</link:label>
    <link:label xlink:label="blfs_FinancedInsurancePremiumMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents financed insurance premium.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FinancedInsurancePremiumMember" xlink:to="blfs_FinancedInsurancePremiumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OneGCIStockholderMember" xlink:label="blfs_OneGCIStockholderMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_OneGCIStockholderMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">One GCI Stockholder [Member]</link:label>
    <link:label xlink:label="blfs_OneGCIStockholderMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents one GCI stockholder.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_OneGCIStockholderMember" xlink:to="blfs_OneGCIStockholderMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI (in shares)</link:label>
    <link:label xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable</link:label>
    <link:label xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Stock Reduced During Period, Satisfy Note Receivable (in shares)</link:label>
    <link:label xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares reduced during the period to satisfy an outstanding note receivable in the business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:label xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued expenses and other current liabilities</link:label>
    <link:label xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total accrued expenses and other current liabilities</link:label>
    <link:label xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationEscrowSharesPeriod" xlink:label="blfs_BusinessCombinationEscrowSharesPeriod" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationEscrowSharesPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationEscrowSharesPeriod</link:label>
    <link:label xlink:label="blfs_BusinessCombinationEscrowSharesPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Escrow Shares, Period (Month)</link:label>
    <link:label xlink:label="blfs_BusinessCombinationEscrowSharesPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The period the shares are to be held in escrow in the business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationEscrowSharesPeriod" xlink:to="blfs_BusinessCombinationEscrowSharesPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseTermOfContract</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Term of Contract (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Lease liabilities, financing</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of finance lease obligation assumed in business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Due after one year through five years</link:label>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Depreciation</link:label>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Line of credit</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of line of credit assumed at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationDepletionAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesFairValueDisclosure</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Operating lease right-of-use assets, net</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of operating lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Financing lease right-of-use assets, net</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of finance lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Long-term deposits and other assets</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of deposits and other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Lease liabilities, operating</link:label>
    <link:label xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of operating lease obligation assumed in business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">plus: Settlement of BioLife prepaid deposits</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of settlement of prepaid deposits incurred by the acquirer as part of consideration transferred in a business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">plus: Net settlement of BioLife accounts receivable</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of settlement of account receivable of the acquirer as part of consideration transferred in a business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">less: Net working capital adjustment</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of working capital adjustment associated with the acquisition of business during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:to="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Cash equivalents</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashAndCashEquivalentsFairValueDisclosure</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Merger consideration percentage</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage</link:label>
    <link:label xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The percentage of shares outstanding of equity interests of the acquirer to be issued or issuable in consideration for the business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:to="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Merger consideration shares (in shares)</link:label>
    <link:label xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments</link:label>
    <link:label xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares, Before Adjustments (in shares)</link:label>
    <link:label xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of shares of equity interests issued or issuable to acquire entity before adjustments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:type="locator"/>
    <link:label xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent</link:label>
    <link:label xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Before Discrete Items, Percent</link:label>
    <link:label xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations before discrete items.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:to="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant, and Equipment and Intangible Assets [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Change in fair value of contingent consideration</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in fair value of contingent consideration</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</link:label>
    <link:label xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Impairment of Intangible Assets (Excluding Goodwill), Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest expense, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, $0.001 par value; 150,000,000 shares authorized, 42,536,734 and 41,817,503 shares issued and outstanding, respectively, as of June 30, 2022 and December 31, 2021</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net (loss) income to net cash used in operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementFrequencyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementsRecurringMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsValuationAllowance</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-cash investing and financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_WeightedAverageMember" xlink:label="srt_WeightedAverageMember" xlink:type="locator"/>
    <link:label xlink:label="srt_WeightedAverageMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_WeightedAverageMember" xlink:to="srt_WeightedAverageMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductOrServiceAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductsAndServicesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of June 30, 2022 and December 31, 2021</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash interest paid</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InventoryNet</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EMEAMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EMEA [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EMEAMember" xlink:to="us-gaap_EMEAMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueInputsLevel3Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_MajorCustomersAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_NameOfMajorCustomerDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueInputsLevel1Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueInputsLevel2Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyAccrualPayments</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Settlements of warranty claims</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warranty reserve acquired in the acquisition of Global Cooling</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:to="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Provision for warranties</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DiscreteTaxBenefit" xlink:label="blfs_DiscreteTaxBenefit" xlink:type="locator"/>
    <link:label xlink:label="blfs_DiscreteTaxBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_DiscreteTaxBenefit</link:label>
    <link:label xlink:label="blfs_DiscreteTaxBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discrete Tax Benefit</link:label>
    <link:label xlink:label="blfs_DiscreteTaxBenefit-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of discrete tax benefit.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_DiscreteTaxBenefit" xlink:to="blfs_DiscreteTaxBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConstructionInProgressMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable, allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable, trade, net of allowance for doubtful accounts of $458 and $275 as of June 30, 2022 and December 31, 2021, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsAndShortTermInvestments</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Short-Term Investments, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestments-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_SextonAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sexton Acquisition [Member]</link:label>
    <link:label xlink:label="blfs_SextonAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information of the Sexton Merger.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SextonAcquisitionMember" xlink:to="blfs_SextonAcquisitionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ManufacturingFacilityMember" xlink:label="us-gaap_ManufacturingFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ManufacturingFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manufacturing Facility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ManufacturingFacilityMember" xlink:to="us-gaap_ManufacturingFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseholdImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Due in one year or less</link:label>
    <link:label xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerAMember" xlink:label="blfs_CustomerAMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CustomerAMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer A [Member]</link:label>
    <link:label xlink:label="blfs_CustomerAMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information about customer A.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CustomerAMember" xlink:to="blfs_CustomerAMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LongtermDebtMaturityAfterYearFour" xlink:label="blfs_LongtermDebtMaturityAfterYearFour" xlink:type="locator"/>
    <link:label xlink:label="blfs_LongtermDebtMaturityAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_LongtermDebtMaturityAfterYearFour</link:label>
    <link:label xlink:label="blfs_LongtermDebtMaturityAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label xlink:label="blfs_LongtermDebtMaturityAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents amount of long-term debt maturity that takes place after year four.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LongtermDebtMaturityAfterYearFour" xlink:to="blfs_LongtermDebtMaturityAfterYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other (expense) income, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NonoperatingIncomeExpense</link:label>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total other expense, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent" xlink:label="us-gaap_RestrictedCashCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCashCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashCurrent" xlink:to="us-gaap_RestrictedCashCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerBMember" xlink:label="blfs_CustomerBMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CustomerBMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer B [Member]</link:label>
    <link:label xlink:label="blfs_CustomerBMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about major customer B.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CustomerBMember" xlink:to="blfs_CustomerBMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:label="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CorporateDebtSecuritiesCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Debt Securities, Cash Equivalents [Member]</link:label>
    <link:label xlink:label="blfs_CorporateDebtSecuritiesCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents corporate debt securities classified as cash equivalents.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:to="blfs_CorporateDebtSecuritiesCashEquivalentsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, and restricted cash &#8211; beginning of period</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, and restricted cash &#8211; end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:label="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-US Government Agency Securities, Cash Equivalents [Member]</link:label>
    <link:label xlink:label="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents non-US government agency securities classified as cash equivalents.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:to="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:type="locator"/>
    <link:label xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss, Current</link:label>
    <link:label xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Current portion of amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effects of currency translation on cash, cash equivalents, and restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingencies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies (Note 12)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net decrease in cash, cash equivalents, and restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xlink:type="locator"/>
    <link:label xlink:label="srt_ExecutiveOfficerMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Executive Officer [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ExecutiveOfficerMember" xlink:to="srt_ExecutiveOfficerMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss, Noncurrent</link:label>
    <link:label xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The non-current portion of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingIncomeLoss</link:label>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Abandoned In Process Research and Development [Member]</link:label>
    <link:label xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to abandoned in process research and development.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:to="blfs_AbandonedInProcessResearchAndDevelopmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other expense:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">In Process Research and Development Not Related to Abandonment [Member]</link:label>
    <link:label xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to in process research and development not related to abandonment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:to="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of goods and services</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_CounterpartyNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:to="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amount attributable to unvested restricted shares</link:label>
    <link:label xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the diluted earnings (loss) per share or per unit calculation under the two-class method.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred tax liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="locator"/>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cashless exercises of warrants (in shares)</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Shares, Cashless Warrant Exercises (in shares)</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares issued during this period as cashless warrant exercise.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:to="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AllLocationMember" xlink:label="blfs_AllLocationMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_AllLocationMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Location [Member]</link:label>
    <link:label xlink:label="blfs_AllLocationMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents all location.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_AllLocationMember" xlink:to="blfs_AllLocationMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsOfStockIssuanceCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsOfStockIssuanceCosts</link:label>
    <link:label xlink:label="us-gaap_PaymentsOfStockIssuanceCosts-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Fees incurred for registration filings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskCreditRisk-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration shares issued</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The value of stock issued during the period under contingent consideration.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:to="blfs_StockIssuedDuringPeriodValueContingentConsideration-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="locator"/>
    <link:label xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity investments</link:label>
    <link:label xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of investments in non-marketable equity securities and available-for-sale debt securities as of the balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:to="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:type="locator"/>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodSharesContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration shares issued (in shares)</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodSharesContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares issued during the period under contingent consideration.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:to="blfs_StockIssuedDuringPeriodSharesContingentConsideration-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:type="locator"/>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cashless issuance of SciSafe earnout shares</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The value of stock issued during the period for cashless issuance of earnout shares.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_RentalRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rental Revenue [Member]</link:label>
    <link:label xlink:label="blfs_RentalRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to rental revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_RentalRevenueMember" xlink:to="blfs_RentalRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesProductRevenueMember" xlink:label="blfs_StorageAndStorageServicesProductRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_StorageAndStorageServicesProductRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Storage and Storage Services Product Revenue [Member]</link:label>
    <link:label xlink:label="blfs_StorageAndStorageServicesProductRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to storage and storage services product revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StorageAndStorageServicesProductRevenueMember" xlink:to="blfs_StorageAndStorageServicesProductRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesServiceRevenueMember" xlink:label="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_StorageAndStorageServicesServiceRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Storage and Storage Services Service Revenue [Member]</link:label>
    <link:label xlink:label="blfs_StorageAndStorageServicesServiceRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to storage and storage services service revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:to="blfs_StorageAndStorageServicesServiceRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesRentalRevenueMember" xlink:label="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_StorageAndStorageServicesRentalRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Storage and Storage Services Rental Revenue [Member]</link:label>
    <link:label xlink:label="blfs_StorageAndStorageServicesRentalRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to storage and storage services rental revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:to="blfs_StorageAndStorageServicesRentalRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:label="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_SignificantAccountingPoliciesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Policy Text Block]</link:label>
    <link:label xlink:label="blfs_SignificantAccountingPoliciesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The accounting policy for significant accounting policies.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:to="blfs_SignificantAccountingPoliciesPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:type="locator"/>
    <link:label xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_BusinessCombinationContingentConsiderationStockIssued</link:label>
    <link:label xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Stock Issued (in shares)</link:label>
    <link:label xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares issued for contingent consideration under business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:to="blfs_BusinessCombinationContingentConsiderationStockIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan1Member" xlink:label="blfs_The2022TermLoan1Member" xlink:type="locator"/>
    <link:label xlink:label="blfs_The2022TermLoan1Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2022 Term Loan 1 [Member]</link:label>
    <link:label xlink:label="blfs_The2022TermLoan1Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the 2022 term loan 1.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_The2022TermLoan1Member" xlink:to="blfs_The2022TermLoan1Member-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan2Member" xlink:label="blfs_The2022TermLoan2Member" xlink:type="locator"/>
    <link:label xlink:label="blfs_The2022TermLoan2Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2022 Term Loan 2 [Member]</link:label>
    <link:label xlink:label="blfs_The2022TermLoan2Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the 2022 term loan 2.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_The2022TermLoan2Member" xlink:to="blfs_The2022TermLoan2Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyAccrual</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:type="locator"/>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cashless exercises of warrants</link:label>
    <link:label xlink:label="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The value of stock issued during the period for cashless warrant exercises.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:label="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:type="locator"/>
    <link:label xlink:label="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cashless exercise of warrants reclassified from warrant liability to common stock</link:label>
    <link:label xlink:label="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of reclassification from warrant liability to common stock due to cashless exercise of warrants.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:to="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostsAndExpenses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CostsAndExpenses</link:label>
    <link:label xlink:label="us-gaap_CostsAndExpenses-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CBSAcquisitionMember" xlink:label="blfs_CBSAcquisitionMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CBSAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CBS Acquisition [Member]</link:label>
    <link:label xlink:label="blfs_CBSAcquisitionMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding the CBS acquisition.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CBSAcquisitionMember" xlink:to="blfs_CBSAcquisitionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from exercise of common stock options</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:type="locator"/>
    <link:label xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits</link:label>
    <link:label xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other assets</link:label>
    <link:label xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) in prepaid expenses, other current assets and long-term deposits during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:to="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RevenuesByProductLineTableTextBlock" xlink:label="blfs_RevenuesByProductLineTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_RevenuesByProductLineTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenues By Product Line [Table Text Block]</link:label>
    <link:label xlink:label="blfs_RevenuesByProductLineTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of revenues by product line.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_RevenuesByProductLineTableTextBlock" xlink:to="blfs_RevenuesByProductLineTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="locator"/>
    <link:label xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour</link:label>
    <link:label xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:to="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Service revenue, expected to be recognized in the future, period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Service revenue, expected to be recognized in the future</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ClassOfWarrantOrRightOutstanding</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Loss before income tax benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LeaseExtensionsMember" xlink:label="blfs_LeaseExtensionsMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_LeaseExtensionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Extensions [Member]</link:label>
    <link:label xlink:label="blfs_LeaseExtensionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to lease extensions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LeaseExtensionsMember" xlink:to="blfs_LeaseExtensionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInWarrantyLiability" xlink:label="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="locator"/>
    <link:label xlink:label="blfs_IncreaseDecreaseInWarrantyLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warranty liability</link:label>
    <link:label xlink:label="blfs_IncreaseDecreaseInWarrantyLiability-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of increase (decrease) in warranty liability during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_IncreaseDecreaseInWarrantyLiability" xlink:to="blfs_IncreaseDecreaseInWarrantyLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredRevenueRevenueRecognized1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredRevenueRevenueRecognized1</link:label>
    <link:label xlink:label="us-gaap_DeferredRevenueRevenueRecognized1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockDepositedIntoEscrowMember" xlink:label="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CommonStockDepositedIntoEscrowMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock Deposited Into Escrow [Member]</link:label>
    <link:label xlink:label="blfs_CommonStockDepositedIntoEscrowMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to common stock deposited into escrow.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CommonStockDepositedIntoEscrowMember" xlink:to="blfs_CommonStockDepositedIntoEscrowMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredFinanceCostsNet</link:label>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: unamortized debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock Issued to Acquire Participating Holders [Member]</link:label>
    <link:label xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to common stock issued to acquire participating holders.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:to="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GeographicOtherMember" xlink:label="blfs_GeographicOtherMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_GeographicOtherMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographic, Other [Member]</link:label>
    <link:label xlink:label="blfs_GeographicOtherMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other geographic location.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_GeographicOtherMember" xlink:to="blfs_GeographicOtherMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanTextBlock" xlink:label="us-gaap_DefinedContributionPlanTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanTextBlock" xlink:to="us-gaap_DefinedContributionPlanTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt" xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfOtherLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments on financed insurance premium</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfOtherLongTermDebt" xlink:to="us-gaap_RepaymentsOfOtherLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentQuarterlyReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt, carrying amount</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total debt, excluding unamortized debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentTransitionReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PreferredStockSharesDesignated" xlink:label="blfs_PreferredStockSharesDesignated" xlink:type="locator"/>
    <link:label xlink:label="blfs_PreferredStockSharesDesignated-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, shares designated (in shares)</link:label>
    <link:label xlink:label="blfs_PreferredStockSharesDesignated-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of nonredeemable preferred shares designated.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_PreferredStockSharesDesignated" xlink:to="blfs_PreferredStockSharesDesignated-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsTextBlock" xlink:label="blfs_WarrantsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrants [Text Block]</link:label>
    <link:label xlink:label="blfs_WarrantsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Entire disclosure for warrants.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantsTextBlock" xlink:to="blfs_WarrantsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManagementPerformanceBonusPlan2017Member" xlink:label="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="locator"/>
    <link:label xlink:label="blfs_ManagementPerformanceBonusPlan2017Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Management Performance Bonus Plan 2017 [Member]</link:label>
    <link:label xlink:label="blfs_ManagementPerformanceBonusPlan2017Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the 2017 Management Performance Bonus Plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_ManagementPerformanceBonusPlan2017Member" xlink:to="blfs_ManagementPerformanceBonusPlan2017Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharePrice-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">BioLife stock price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_SharePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharePrice</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Anti-dilutive securities (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:type="locator"/>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value</link:label>
    <link:label xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Fair value of non-vested equity-based payment instruments, excluding stock (or unit) options, vested.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLinesOfCredit</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments on line of credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Diluted weighted average shares issued and outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from line of credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateContinuingOperations</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2022 (6 months remaining)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseContractualTermDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Contractual Term [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="us-gaap_LeaseContractualTermDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseContractualTermAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Contractual Term [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration - business combinations</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationContingentConsiderationLiability</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseRemainingLeaseTerm</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Remaining Lease Term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromIssuanceOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from equipment loans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments on equipment loans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebt" xlink:to="us-gaap_RepaymentsOfDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherCurrentLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Current Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:to="us-gaap_OtherCurrentLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Due after one year through five years</link:label>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, NoncurrentDebt Securities, Available-for-Sale, Amortized Cost, Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Due in one year or less</link:label>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Merger consideration shares (in shares)</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total financing lease payments, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:label="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustments Related to Previous Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:to="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:label="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Less: gain related to change in fair value of warrants</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:to="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: financing lease interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FurnitureAndComputerEquipmentMember" xlink:label="blfs_FurnitureAndComputerEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_FurnitureAndComputerEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Furniture and Computer Equipment [Member]</link:label>
    <link:label xlink:label="blfs_FurnitureAndComputerEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the furniture and computer equipment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_FurnitureAndComputerEquipmentMember" xlink:to="blfs_FurnitureAndComputerEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Step Acquisition, Equity Interest in Acquiree, Remeasurement Gain (Loss), Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average discount rate - finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">plus: Fair value of BioLife&#8217;s existing investment in Sexton</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022 (6 months remaining), finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration, long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrealized loss on available-for-sale securities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average remaining lease term in years - finance leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RealEstateLeaseMember" xlink:label="blfs_RealEstateLeasemember" xlink:type="locator"/>
    <link:label xlink:label="blfs_RealEstateLeasemember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Real Estate Lease[Member]</link:label>
    <link:label xlink:label="blfs_RealEstateLeasemember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Leases related to real estate.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_RealEstateLeasemember" xlink:to="blfs_RealEstateLeasemember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:label="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Risk and Uncertainties, Policy [Policy Text Block]</link:label>
    <link:label xlink:label="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for risk and uncertainties.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:to="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:label="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liquidity and Capital Resources, Policy [Policy Text Block]</link:label>
    <link:label xlink:label="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for liquidity and capital resources.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:to="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SeriesEPreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Series E Preferred Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesEPreferredStockMember" xlink:to="us-gaap_SeriesEPreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SeriesAPreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Series A Preferred Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesAPreferredStockMember" xlink:to="us-gaap_SeriesAPreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Fair value of net assets acquired</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContingentConvertiblePreferredStockMember" xlink:label="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContingentConvertiblePreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent Convertible Preferred Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConvertiblePreferredStockMember" xlink:to="us-gaap_ContingentConvertiblePreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:label="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Option and Restricted Stock Awards [Member]</link:label>
    <link:label xlink:label="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to option and restricted stock awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:to="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfStockDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total long-term debt</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt, long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAcquiredFromAcquisition-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash acquired in acquisition of Global Cooling, Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAcquiredFromAcquisition" xlink:to="us-gaap_CashAcquiredFromAcquisition-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantLiabilitiesMember" xlink:label="blfs_WarrantLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrant Liabilities [Member]</link:label>
    <link:label xlink:label="blfs_WarrantLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to warrant liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantLiabilitiesMember" xlink:to="blfs_WarrantLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total marketable securities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis-label" xlink:type="arc"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Warrants in Connection with WAVI Credit Facility [Member]</link:label>
    <link:label xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to warrants in connection with WAVI credit facility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:to="blfs_WarrantsInConnectionWithWaviCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Property, plant and equipment, net</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>blfs-20220630_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2022-08-09--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events" xlink:href="blfs-20220630.xsd#statement-note-20-subsequent-events" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies" xlink:href="blfs-20220630.xsd#statement-note-18-commitments-and-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory" xlink:href="blfs-20220630.xsd#statement-note-4-inventory" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information" xlink:href="blfs-20220630.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PreferredStockSharesDesignated" xlink:label="blfs_PreferredStockSharesDesignated" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_SeriesAPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_PreferredStockSharesDesignated" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CBSAcquisitionMember" xlink:label="blfs_CBSAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputAssetPriceVolatilityMember" xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputRevenueVolatilityMember" xlink:label="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SciSafeHoldingsIncMember" xlink:label="blfs_SciSafeHoldingsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_CBSAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_MeasurementInputTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputDiscountRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SciSafeHoldingsIncMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments" xlink:href="blfs-20220630.xsd#statement-note-3-investments" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SeriesA1AndA2PreferredStockMember" xlink:label="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContingentConvertiblePreferredStockMember" xlink:label="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTextBlock" xlink:label="us-gaap_InvestmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InvestmentTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_SeriesEPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InvestmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases" xlink:href="blfs-20220630.xsd#statement-note-5-leases" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LeaseExtensionsMember" xlink:label="blfs_LeaseExtensionsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeLeasesTextBlock" xlink:label="blfs_LesseeLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RealEstateLeaseMember" xlink:label="blfs_RealEstateLeasemember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="blfs_RealEstateLeasemember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="blfs_LeaseExtensionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_LesseeLeasesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentTextBlock" xlink:label="blfs_AssetsHeldForRentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_AssetsHeldForRentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants" xlink:href="blfs-20220630.xsd#statement-note-12-warrants" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsExercisedMember" xlink:label="blfs_WarrantsExercisedMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsTextBlock" xlink:label="blfs_WarrantsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsToPurchaseCommonStockMember" xlink:label="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsExercisedMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="blfs_WarrantsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue" xlink:href="blfs-20220630.xsd#statement-note-13-revenue" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManagementPerformanceBonusPlan2017Member" xlink:label="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_ExecutiveOfficerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockDepositedIntoEscrowMember" xlink:label="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OneGCIStockholderMember" xlink:label="blfs_OneGCIStockholderMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="blfs_OneGCIStockholderMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes" xlink:href="blfs-20220630.xsd#statement-note-16-income-taxes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-" xlink:href="blfs-20220630.xsd#statement-note-19-employee-benefit-plan-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DefinedContributionPlan401KMember" xlink:label="blfs_DefinedContributionPlan401KMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NotesToFinancialStatementsAbstract" xlink:label="blfs_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanTextBlock" xlink:label="us-gaap_DefinedContributionPlanTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="blfs_DefinedContributionPlan401KMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DefinedContributionPlanTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies" xlink:href="blfs-20220630.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:label="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:label="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:label="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-significant-accounting-policies-policies" xlink:label="blfs_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-significant-accounting-policies-policies" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_SignificantAccountingPoliciesPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="blfs_RiskAndUncertaintiesPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ContingentConsiderationLiabilitiesMember" xlink:label="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantLiabilitiesMember" xlink:label="blfs_WarrantLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="blfs_WarrantLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables" xlink:href="blfs-20220630.xsd#statement-note-3-investments-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-3-investments-tables" xlink:label="blfs_statement-statement-note-3-investments-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-3-investments-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables" xlink:href="blfs-20220630.xsd#statement-note-4-inventory-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-4-inventory-tables" xlink:label="blfs_statement-statement-note-4-inventory-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-4-inventory-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables" xlink:href="blfs-20220630.xsd#statement-note-5-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:label="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-tables" xlink:label="blfs_statement-statement-note-5-leases-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-5-leases-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:label="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-6-assets-held-for-rent-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_ScheduleOfAssetsHeldForRentTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-7-property-and-equipment-tables" xlink:label="blfs_statement-statement-note-7-property-and-equipment-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-7-property-and-equipment-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-10-warranty-reserve-liability-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-tables" xlink:label="blfs_statement-statement-note-11-longterm-debt-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-11-longterm-debt-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-12-warrants-tables" xlink:label="blfs_statement-statement-note-12-warrants-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-12-warrants-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RevenuesByProductLineTableTextBlock" xlink:label="blfs_RevenuesByProductLineTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-tables" xlink:label="blfs_statement-statement-note-13-revenue-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-13-revenue-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="blfs_RevenuesByProductLineTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-tables" xlink:label="blfs_statement-statement-note-15-acquisitions-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-15-acquisitions-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-17-net-loss-income-per-common-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationContingentConsiderationStockIssued" xlink:label="blfs_BusinessCombinationContingentConsiderationStockIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CBSAcquisitionMember" xlink:label="blfs_CBSAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputAssetPriceVolatilityMember" xlink:label="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MeasurementInputRevenueVolatilityMember" xlink:label="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SciSafeHoldingsIncMember" xlink:label="blfs_SciSafeHoldingsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="us-gaap_MeasurementInputTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_CBSAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_MeasurementInputTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputDiscountRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SciSafeHoldingsIncMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="blfs_MeasurementInputAssetPriceVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="blfs_MeasurementInputRevenueVolatilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationContingentConsiderationStockIssued-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual" xlink:href="blfs-20220630.xsd#statement-note-3-investments-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SeriesA1AndA2PreferredStockMember" xlink:label="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContingentConvertiblePreferredStockMember" xlink:label="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount" xlink:label="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesEPreferredStockMember" xlink:label="us-gaap_SeriesEPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InvestmentTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_ContingentConvertiblePreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="blfs_SeriesA1AndA2PreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_SeriesEPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual" xlink:href="blfs-20220630.xsd#statement-note-5-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LeaseExtensionsMember" xlink:label="blfs_LeaseExtensionsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RealEstateLeaseMember" xlink:label="blfs_RealEstateLeasemember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="blfs_RealEstateLeasemember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="blfs_LeaseExtensionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentDepreciation" xlink:label="blfs_AssetsHeldForRentDepreciation-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_AssetsHeldForRentDepreciation-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:label="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:label="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_AbandonedInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsExercisedMember" xlink:label="blfs_WarrantsExercisedMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:label="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsToPurchaseCommonStockMember" xlink:label="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:label="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsToPurchaseCommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsInConnectionWithWaviCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="blfs_WarrantsExercisedMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManagementPerformanceBonusPlan2017Member" xlink:label="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:label="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod" xlink:label="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards" xlink:label="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="blfs_ManagementPerformanceBonusPlan2017Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_ExecutiveOfficerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="blfs_MarketbasedRestrictedStockSecondIssuanceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims" xlink:label="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationEscrowSharesPeriod" xlink:label="blfs_BusinessCombinationEscrowSharesPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockDepositedIntoEscrowMember" xlink:label="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:label="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OneGCIStockholderMember" xlink:label="blfs_OneGCIStockholderMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod" xlink:label="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsFinitelived" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsFinitelived-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableNet" xlink:label="us-gaap_NotesReceivableNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="blfs_CommonStockIssuedToAcquireParticipatingHoldersMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:to="blfs_CommonStockDepositedIntoEscrowMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="blfs_OneGCIStockholderMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NotesReceivableNet-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationEscrowSharesPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsFinitelived-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual" xlink:href="blfs-20220630.xsd#statement-note-16-income-taxes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DiscreteTaxBenefit" xlink:label="blfs_DiscreteTaxBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent" xlink:label="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-n2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit-n2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DiscreteTaxBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual" xlink:href="blfs-20220630.xsd#statement-note-19-employee-benefit-plan-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DefinedContributionPlan401KMember" xlink:label="blfs_DefinedContributionPlan401KMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoteToFinancialStatementDetailsTextual" xlink:label="blfs_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="us-gaap_RetirementPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanNameAxis" xlink:to="blfs_DefinedContributionPlan401KMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:href="blfs-20220630.xsd#statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-consideration-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments" xlink:label="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage" xlink:label="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits" xlink:label="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable" xlink:label="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:label="blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-15-acquisitions-consideration-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharePrice-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments-1" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable-1" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits-1" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-n9" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-n9" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-n9" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets" xlink:label="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:label="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-n9" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-n9" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-n9" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-n9" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-1" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets-1" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets-1" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-1" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit-n9" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation-n9" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-n9" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:href="blfs-20220630.xsd#statement-note-4-inventory-summary-of-inventories-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:label="blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-4-inventory-summary-of-inventories-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:label="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability-1" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:href="blfs-20220630.xsd#statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FixedAssetsHeldForRent" xlink:label="blfs_FixedAssetsHeldForRent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersAndRelatedComponentsInProduction" xlink:label="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet" xlink:label="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-3" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceDepreciation" xlink:label="blfs_ShippersPlacedInServiceDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceGross" xlink:label="blfs_ShippersPlacedInServiceGross" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ShippersPlacedInServiceNet" xlink:label="blfs_ShippersPlacedInServiceNet" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:label="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FixedAssetsHeldForRent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceDepreciation" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceNet" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersAndRelatedComponentsInProduction" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_LongtermDebtMaturityAfterYearFour" xlink:label="blfs_LongtermDebtMaturityAfterYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:label="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_LongtermDebtMaturityAfterYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:label="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:label="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="blfs_IndefiniteInProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:label="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_WeightedAverageMember" xlink:label="srt_WeightedAverageMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_WeightedAverageMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:href="blfs-20220630.xsd#statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:label="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:href="blfs-20220630.xsd#statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:label="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationLiabilityCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedIncomeTaxesCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherLiabilitiesCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details" xlink:href="blfs-20220630.xsd#statement-note-11-longterm-debt-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinancedInsurancePremiumMember" xlink:label="blfs_FinancedInsurancePremiumMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerEquipmentLoanMember" xlink:label="blfs_FreezerEquipmentLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FreezerInstallationLoanMember" xlink:label="blfs_FreezerInstallationLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ManufacturingEquipmentLoansMember" xlink:label="blfs_ManufacturingEquipmentLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OtherLoansMember" xlink:label="blfs_OtherLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan1Member" xlink:label="blfs_The2022TermLoan1Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_The2022TermLoan2Member" xlink:label="blfs_The2022TermLoan2Member" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:label="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-11-longterm-debt-longterm-debt-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_The2022TermLoan1Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_The2022TermLoan2Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_FinancedInsurancePremiumMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_FreezerEquipmentLoanMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_ManufacturingEquipmentLoansMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_FreezerInstallationLoanMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_OtherLoansMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:label="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:label="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AssetsHeldForRentNoncurrent" xlink:label="blfs_AssetsHeldForRentNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:label="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent" xlink:label="us-gaap_RestrictedCashCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_RestrictedCashCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="blfs_AssetsHeldForRentNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DepositsAssetsNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="blfs_AccruedExpensesAndOtherCurrentLiabilities" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:label="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_EquipmentLoansMember" xlink:label="blfs_EquipmentLoansMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FinancedInsurancePremiumMember" xlink:label="blfs_FinancedInsurancePremiumMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GainLossOnDispositionOfAssetsHeldForRent" xlink:label="blfs_GainLossOnDispositionOfAssetsHeldForRent-n8" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits" xlink:label="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-n8" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_IncreaseDecreaseInWarrantyLiability" xlink:label="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashLeaseExpense" xlink:label="blfs_NoncashLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:label="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_PaymentsToAcquireAssetsHeldForRent" xlink:label="blfs_PaymentsToAcquireAssetsHeldForRent-n8" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt" xlink:label="us-gaap_RepaymentsOfOtherLongTermDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_EquipmentLoansMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="blfs_FinancedInsurancePremiumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="blfs_NoncashLeaseExpense" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="blfs_GainLossOnDispositionOfAssetsHeldForRent-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="blfs_IncreaseDecreaseInWarrantyLiability" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfMachineryAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="blfs_PaymentsToAcquireAssetsHeldForRent-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLinesOfCredit-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfOtherLongTermDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect-3" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerAMember" xlink:label="blfs_CustomerAMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CustomerBMember" xlink:label="blfs_CustomerBMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="blfs_CustomerAMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="blfs_CustomerBMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:href="blfs-20220630.xsd#statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_AllLocationMember" xlink:label="blfs_AllLocationMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GeographicOtherMember" xlink:label="blfs_GeographicOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:label="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CA" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="blfs_GeographicOtherMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="blfs_AllLocationMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:label="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:label="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherDebtSecuritiesMember" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel1Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_MoneyMarketFundsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel3Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="blfs_CorporateDebtSecuritiesCashEquivalentsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FinancialInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_OtherDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtFairValue-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ContingentConsiderationLiabilitiesMember" xlink:label="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="blfs_ContingentConsiderationLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:href="blfs-20220630.xsd#statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantLiabilitiesMember" xlink:label="blfs_WarrantLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:label="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="blfs_WarrantLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:href="blfs-20220630.xsd#statement-note-5-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_OperatingLeaseCostsAndShorttermLeaseCosts" xlink:label="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-3" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:label="blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost" xlink:label="us-gaap_VariableLeaseCost" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-5-leases-components-of-lease-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_OperatingLeaseCostsAndShorttermLeaseCosts-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_VariableLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:href="blfs-20220630.xsd#statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_FurnitureAndComputerEquipmentMember" xlink:label="blfs_FurnitureAndComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:label="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ManufacturingFacilityMember" xlink:label="us-gaap_ManufacturingFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="blfs_FurnitureAndComputerEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ManufacturingFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:href="blfs-20220630.xsd#statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:label="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPayments-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details" xlink:href="blfs-20220630.xsd#statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriod" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-n9" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice" xlink:label="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-1" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:label="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriod-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_MarketbasedRestrictedStockMember" xlink:label="blfs_MarketbasedRestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="blfs_MarketbasedRestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-1" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:href="blfs-20220630.xsd#statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:label="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details" xlink:href="blfs-20220630.xsd#statement-note-15-acquisitions-pro-forma-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SextonAcquisitionMember" xlink:label="blfs_SextonAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:label="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-15-acquisitions-pro-forma-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_SextonAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:label="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:label="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_RentalRevenueMember" xlink:label="blfs_RentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ServiceRevenueMember" xlink:label="blfs_ServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAdjustmentOfWarrants" xlink:label="us-gaap_FairValueAdjustmentOfWarrants-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="us-gaap_ProductMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_ServiceRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_RentalRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_CostsAndExpenses-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_FairValueAdjustmentOfWarrants-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:href="blfs-20220630.xsd#statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details" xlink:href="blfs-20220630.xsd#statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:label="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:label="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherDebtSecuritiesMember" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:label="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FinancialInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_OtherDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent-1" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent-1" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis-1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details" xlink:href="blfs-20220630.xsd#statement-note-13-revenue-revenues-by-product-line-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductCellProcessingMember" xlink:label="blfs_ProductCellProcessingMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_ProductFreezerAndThawMember" xlink:label="blfs_ProductFreezerAndThawMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesProductRevenueMember" xlink:label="blfs_StorageAndStorageServicesProductRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesRentalRevenueMember" xlink:label="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StorageAndStorageServicesServiceRevenueMember" xlink:label="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:label="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-13-revenue-revenues-by-product-line-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_ProductFreezerAndThawMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_ProductCellProcessingMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_StorageAndStorageServicesProductRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_StorageAndStorageServicesServiceRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="blfs_StorageAndStorageServicesRentalRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:href="blfs-20220630.xsd#statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:label="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_WarrantsIncomeStatementImpact" xlink:label="blfs_WarrantsIncomeStatementImpact-n8" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:label="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:label="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_WarrantsIncomeStatementImpact-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted-3" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-3" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:href="blfs-20220630.xsd#statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity" xlink:type="extended">
    <link:loc xlink:href="blfs-20220630.xsd#blfs_GCIAcquisitionMember" xlink:label="blfs_GCIAcquisitionMember" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:label="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:type="locator"/>
    <link:loc xlink:href="blfs-20220630.xsd#blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:label="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-5" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="blfs_GCIAcquisitionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_PreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_SeriesAPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesContingentConsideration" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodValueContingentConsideration" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-5" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>11
<FILENAME>biolife.jpg
<TEXT>
begin 644 biolife.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_X1#N17AI9@  34T *@    @ ! $[  (
M   ,   (2H=I  0    !   (5IR=  $    8   0SNH<  <   @,    /@
M   <Z@    @
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M                                                 $-L86ER92!0
M86=E   %D ,  @   !0  !"DD 0  @   !0  !"XDI$  @    ,X-0  DI(
M @    ,X-0  ZAP !P  " P   B8     !SJ    "
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M                    ,C R,CHP.#HP,R Q,SHT,3HT,P R,#(R.C X.C S
M(#$S.C0Q.C0S    0P!L &$ :0!R &4 ( !0 &$ 9P!E    _^$+'FAT=' Z
M+R]N<RYA9&]B92YC;VTO>&%P+S$N,"\ /#]X<&%C:V5T(&)E9VEN/2?ON[\G
M(&ED/2=7-4TP37!#96AI2'IR95-Z3E1C>FMC.60G/SX-"CQX.GAM<&UE=&$@
M>&UL;G,Z>#TB861O8F4Z;G,Z;65T82\B/CQR9&8Z4D1&('AM;&YS.G)D9CTB
M:'1T<#HO+W=W=RYW,RYO<F<O,3DY.2\P,B\R,BUR9&8M<WEN=&%X+6YS(R(^
M/')D9CI$97-C<FEP=&EO;B!R9&8Z86)O=70](G5U:60Z9F%F-6)D9#4M8F$S
M9"TQ,61A+6%D,S$M9#,S9#<U,3@R9C%B(B!X;6QN<SID8STB:'1T<#HO+W!U
M<FPN;W)G+V1C+V5L96UE;G1S+S$N,2\B+SX\<F1F.D1E<V-R:7!T:6]N(')D
M9CIA8F]U=#TB=75I9#IF868U8F1D-2UB83-D+3$Q9&$M860S,2UD,S-D-S4Q
M.#)F,6(B('AM;&YS.GAM<#TB:'1T<#HO+VYS+F%D;V)E+F-O;2]X87 O,2XP
M+R(^/'AM<#I#<F5A=&5$871E/C(P,C(M,#@M,#-4,3,Z-#$Z-#,N.#0W/"]X
M;7 Z0W)E871E1&%T93X\+W)D9CI$97-C<FEP=&EO;CX\<F1F.D1E<V-R:7!T
M:6]N(')D9CIA8F]U=#TB=75I9#IF868U8F1D-2UB83-D+3$Q9&$M860S,2UD
M,S-D-S4Q.#)F,6(B('AM;&YS.F1C/2)H='1P.B\O<'5R;"YO<F<O9&,O96QE
M;65N=',O,2XQ+R(^/&1C.F-R96%T;W(^/')D9CI397$@>&UL;G,Z<F1F/2)H
M='1P.B\O=W=W+G<S+F]R9R\Q.3DY+S R+S(R+7)D9BUS>6YT87@M;G,C(CX\
M<F1F.FQI/D-L86ER92!086=E/"]R9&8Z;&D^/"]R9&8Z4V5Q/@T*"0D)/"]D
M8SIC<F5A=&]R/CPO<F1F.D1E<V-R:7!T:6]N/CPO<F1F.E)$1CX\+W@Z>&UP
M;65T83X-"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @/#]X<&%C:V5T(&5N9#TG
M=R<_/O_; $, !P4%!@4$!P8%!@@'!P@*$0L*"0D*%0\0#!$8%1H9&!48%QL>
M)R$;'24=%Q@B+B(E*"DK+"L:("\S+RHR)RHK*O_; $,!!P@("@D*% L+%"H<
M&!PJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*O_  !$( %$!XP,!(@ "$0$#$0'_Q  ?   !!0$! 0$! 0
M     0(#! 4&!P@)"@O_Q "U$  " 0,# @0#!04$!    7T! @, !!$%$B$Q
M008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*""0H6%Q@9&B4F)R@I*C0U-C<X
M.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H.$A8:'B(F*DI.4
ME9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4U=;7V-G:X>+C
MY.7FY^CIZO'R\_3U]O?X^?K_Q  ? 0 # 0$! 0$! 0$!         0(#! 4&
M!P@)"@O_Q "U$0 " 0($! ,$!P4$!  ! G<  0(#$00%(3$&$D%1!V%Q$R(R
M@0@40I&AL<$)(S-2\!5B<M$*%B0TX27Q%Q@9&B8G*"DJ-38W.#DZ0T1%1D=(
M24I35%565UA96F-D969G:&EJ<W1U=G=X>7J"@X2%AH>(B8J2DY25EI>8F9JB
MHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KBX^3EYN?HZ>KR
M\_3U]O?X^?K_V@ , P$  A$#$0 _ /I&BBB@ HHHH **R=?\3Z1X8LOM.M7B
M6ZG[B=7?V51R:RO#?Q)\->*+@VUA>-#<Y^6&Y78S_P"[S@_3.:VC0JRA[11=
MNYDZU-2Y')7.KHHHK$U"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBH;N[M["UDN;V9(
M((QEY)#A5'J332;=D&PEY>VNG6CW5_<1V\$8R\DK!5'XFO(?&'QR2/S+/PA%
MO;H;Z9>!_N(>OU/Y57^*'@GQ;JL[:I:Z@^MZ=]^.WBP#"OL@X;ZCDUY!!9W-
MS=K:V\$DMPS;5B1"6)],5])E^7X><?:SES>71>IX6-QM>,O9Q7+Y]_0DU'4[
MW5KU[O4KJ6ZN'^])*V2:K*Q5@5)!!R".U>O>#_@?<W7EWGBV0VT746<1_>-_
MO-T7Z#)^E=#XJ^"&DZA 9?#+?V;<JO$3L7BD_/)4^_/TKT)9GA835-/YK8XE
M@,1.'/;_ #.'\'_&75]"\NUUK=JEB. 6;]]&/9OXOH?S%>X^'?%>C>*;/[1H
MUXDV!\\1^62/_>7J/KTKY;U[PUJWAF^-KK-G);O_  L1E7'JK#@UO^!/!/BC
M6[^*^T1I=.AC;(OV)0#_ '>[?0<>M<^,P.%J0]M&2CY]'_7D;87%XBG/V33E
MY=?Z]3Z>HJCI4FRV%E/J*W]Y;(HN)0H4DG."5' SCI5ZODY+E=CZ*,E)713U
M35]/T2Q-YJ]Y#9VP8*99G"J">@R:Q?\ A9/@S_H9],_\"5KEOV@_^23S_P#7
MW#_.OF/PWX>OO%6OV^CZ2(S=W.[RQ(^U?E4L>?H#2+/L7_A9/@S_ *&?3/\
MP)6KVG>+_#NK2B+3=<T^YD;HD=RI8_09S7S3_P ,]>.?^>5A_P"!0_PKD?%G
M@3Q%X'N(5U^R,"S$^3-&X='(]&'?V/- 'VY6#J'CCPOI5_+9:EKUA:W41 DA
MEG"LN1D9'T(KR?\ 9_\ B+J.K7,WA?6[A[HQ0F:SFD;+A00&0GN.01^-97Q*
M^#OB_P 2_$75=7TFS@DL[ET,;-<HI.(U4\$^H- 'T%I^HV>JV$5[IMS'=6LP
M)CFB;<K8.#@_4&K-<M\-="OO#7PZTK2-6C6.\MD<2*KA@,R,PY'L174T""BB
MB@"MJ.I66D6$E[J=S%:VL6-\TK;57)P,GZFLO3O&WAG5[^.RTO7;&[NI,[(8
M9@S-@9.!]!7/?&[_ )(_K7TB_P#1J5X!\#/^2Q:/])O_ $2] SZFU?Q9H&@7
M26^M:Q9V,TB;UCGE"EESC.#VR#5C2-=TO7[9[C1;^WOH4?8TD#A@&QG&1WP1
M7D/QJ^&?B7QKXKLK[0+:&:"&R$+M).J$-O8]#[$5TWP4\&ZQX*\*WMCK\,<,
M\UZ9D$<@<%=BCJ/<&@#T9W6-"\C!549+,< "N=F^(7A"WN?(F\2Z8LN<;1<J
M>?P->*_M&>+K\Z_;^&+:9X;&.!9IT4X\YV)QGU  Z>IKD?A_\(-<\<:=_:]G
M<VEI9QS;%:=FW.5P3@ 'CGO0%CZ[HHHH$%%%% !5'5=:TS0[3[3K%_;V4/\
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
M_G2:HOQA^&</]J7.J'6=-B.9MTAN$4?[08!E'N/SKZ'CC2*-8XE5$0!551@
M#H!230QW$$D,Z+)%(I1T89# C!!H Y+X<_$.P^(6A&ZMT^S7MN0MU:EL^63T
M(/=3V/X5XK\5O^3C--_Z[67_ *$M,^'A;P3^T5<Z';,PM)KB:S*YZIRR9^F%
M_6G_ !6_Y.,TW_KM9?\ H2T =U\>_&.O^$H-%;P[J+V)N&E$NQ%;=C;C[P/J
M:])\)7EQJ/@S1KR\D,MQ<6,,LLA &YB@)/'O7C?[3W_'MX>_WY_Y)7KO@7_D
MGOA__L&P?^BQ0'0T-;GDM?#^H7$#;)8K65T8#[K!"0?SKR#X%^-O$OBZYUV+
M7-4>]-O!&8 Z(NQB6YX ]!7K?B/_ )%;5?\ KRF_] ->$_LQ?\A7Q!_UQA_]
M":@#C_BG8_$&S@TX_$&]2YC9G^RA6C.T\;ON@>W6O0/A[I?Q: \.SR:E&?#F
MV!O*WQ9^S8&!C;G[OOFD_:>_X\?#_P#UTF_DM>L^ ?\ DG/AW_L&6_\ Z+6@
M#S3X]^-_$7A+4]&B\.ZG)8I<0RM*$1&W$,N/O ^M>KP:K#9^$X=5U:X6.*.S
M6>XF?@#Y 2:\)_:=_P"0QX?_ .N$W_H2UM?'/6IK#X1Z#IL#%1J'E"4@]42,
M''YE?RH R;SXF^._B9X@FTKX<0-86,?WIQ@/MZ;G<\)GL!S]:LR_#[XS:?%]
MLM/%INIU&XP"^<ECZ8<;3^-=]\%- M]$^%VFR1(HGU!/M<[XY8M]W\EP*[^@
M#Q;X<?&:_NO$(\*^/[<6NI[_ "8[@IY>Z3^XZ] 3V(X-;GQU\4:SX4\'V-YX
M?OFLKB2^$;NJJV5V,<?,#W KA?VD]$BLM6T;Q#:#RKB<-#*Z\%F3!1OK@D?@
M/2K7QFU9]=^!OA;5)?\ 674L,DG^\86W?KF@"#1/B#\1?'NBV>C^#4*W-O"/
M[2UB=57YR3P#C XQT!)]JCU?PA\:/#]G)JD7B6>_\D>9)';WCNP Y)V, &^G
M/TKTOX)Z?;V'PETAK= K7*O/*>[,7(R?P 'X5WM 'E/P8^*ESXXBN-)UT)_:
MMI'YHE1=HGCR 21V8$C...:R/B9\5=?7QFO@OP%&!?[UBDN @9S(PSM7=P
M>2??IBN0^#0$/Q\U&.(;4 NU"CI@/P/TIWQ)T_7/AY\9#XSM+,W%G-.+B*4J
M3&25P\;$=#U_,4 =&/AU\8WA^TMXVVW!Y\G[;)@>W"X_I53PS\7?%/A'QB/#
M/Q+3S4\P1M<LH$D.?NOE>'3GKUQW[5T>C_M'^%;R-1JUI?:=*?O$()4'XCG]
M*TKG2_AC\6]4COC=PW]\D(B"1W#0R; 2>4X)QD\XH ]-!! (.0>A%%1V\*6U
MM%!%G9$@1<G)P!@<U)0(**** "N8^)'_ "3?6_\ KV/\Q73U1UO2H==T.\TR
MY9DCNHC&S+U7/?\ "M:,E"I&3Z-&=6+E3E%=4?'=?1GPG\9:->^%=/T3[4L.
MHVL9C,$IVE^2<J>_';K7C_BWX<:[X1D:2Z@^TV6?ENX 2G_ NZGZ_G7**S(P
M9"58'((."#7VF(HTL?12C+3HT?*T:M3!U;M?(^T:*\ \ ?%O6;34+/2-8SJ5
MM/*D*2.W[V/<0!\W\0Y[\^]>F>.?&5SX>DCL["%?/FCW^<_(09(X'KQ7S$\M
MKPK*CU>Q[DLRP\*#KRT2.EU76;#1;8SZC<+"O\*]6;Z#J:\%U&X6[U.YN8P0
MLTK. >H!)-)>WUUJ-RUQ?3O/*W5G.:ETS2+[6+H0:=;O,_<@<+[D]!7T>"P4
M,%%RE+5[]CX7,LRJ9G.,(0T6RW;.^^$G^IU3_>B_]FKT:N;\&>%V\,Z=*L\J
MR7-P0TFS[JXZ >O4\UTE?+X^K"KB93@[K_@'W.4T*F'P4*=16:O^+;/,/V@_
M^23W'_7W#_.O#/@E(D7Q?T5Y'5%!FRS' '[EZ^@OC7HFI>(/AO-8Z-9RWETU
MS$PBB&20#R:^;_\ A5/CK_H6;_\ [X'^-<1ZB/LC[?9_\_<'_?P5Y7\>/&.A
MP^ +O0TO+>ZU&]>,)!&X<QA7#%VQTZ<?6O#/^%4^._\ H6;_ /[X'^-6]/\
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
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
E110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162220400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document And Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Aug. 01, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000834365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">BIOLIFE SOLUTIONS INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">94-3076866<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">3303 Monte Villa&#160;Parkway, SUITE 310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Bothell<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">WA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">98021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">402-1400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">BioLife Solutions, Inc. Common Shares<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">BLFS<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,605,036<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162821136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 24,001<span></span>
</td>
<td class="nump">$ 69,860<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashCurrent', window );">Restricted cash</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Available-for-sale securities, current portion</a></td>
<td class="nump">22,546<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, trade, net of allowance for doubtful accounts of $458 and $275 as of June 30, 2022 and December 31, 2021, respectively</a></td>
<td class="nump">31,257<span></span>
</td>
<td class="nump">23,217<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">33,335<span></span>
</td>
<td class="nump">28,345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">6,890<span></span>
</td>
<td class="nump">4,427<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">118,057<span></span>
</td>
<td class="nump">125,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_AssetsHeldForRentNoncurrent', window );">Assets held for rent, net</a></td>
<td class="nump">9,083<span></span>
</td>
<td class="nump">9,809<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">19,117<span></span>
</td>
<td class="nump">17,657<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, net</a></td>
<td class="nump">17,306<span></span>
</td>
<td class="nump">18,705<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Financing lease right-of-use assets, net</a></td>
<td class="nump">367<span></span>
</td>
<td class="nump">440<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepositsAssetsNoncurrent', window );">Long-term deposits and other assets</a></td>
<td class="nump">323<span></span>
</td>
<td class="nump">325<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent', window );">Available-for-sale securities, long-term</a></td>
<td class="nump">489<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities', window );">Equity investments</a></td>
<td class="nump">4,372<span></span>
</td>
<td class="nump">4,372<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total intangible assets, net</a></td>
<td class="nump">76,524<span></span>
</td>
<td class="nump">152,149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">224,741<span></span>
</td>
<td class="nump">224,741<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">470,379<span></span>
</td>
<td class="nump">554,057<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">11,537<span></span>
</td>
<td class="nump">14,945<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_AccruedExpensesAndOtherCurrentLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="nump">7,187<span></span>
</td>
<td class="nump">7,142<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent', window );">Warranty liability</a></td>
<td class="nump">8,722<span></span>
</td>
<td class="nump">9,398<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Lease liabilities, operating, current portion</a></td>
<td class="nump">2,733<span></span>
</td>
<td class="nump">2,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Lease liabilities, financing, current portion</a></td>
<td class="nump">153<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Debt, current portion</a></td>
<td class="nump">1,363<span></span>
</td>
<td class="nump">862<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Contingent consideration, current portion</a></td>
<td class="nump">1,603<span></span>
</td>
<td class="nump">5,127<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">33,298<span></span>
</td>
<td class="nump">40,381<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration, long-term</a></td>
<td class="nump">1,912<span></span>
</td>
<td class="nump">4,900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Lease liabilities, operating, long-term</a></td>
<td class="nump">15,205<span></span>
</td>
<td class="nump">16,466<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Lease liabilities, financing, long-term</a></td>
<td class="nump">213<span></span>
</td>
<td class="nump">291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Debt, long-term</a></td>
<td class="nump">6,188<span></span>
</td>
<td class="nump">6,353<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">1,149<span></span>
</td>
<td class="nump">5,487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">58,066<span></span>
</td>
<td class="nump">73,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and Contingencies (Note 12)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of June 30, 2022 and December 31, 2021</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.001 par value; 150,000,000 shares authorized, 42,536,734 and 41,817,503 shares issued and outstanding, respectively, as of June 30, 2022 and December 31, 2021</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">597,810<span></span>
</td>
<td class="nump">585,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of taxes</a></td>
<td class="num">(900)<span></span>
</td>
<td class="num">(282)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(184,640)<span></span>
</td>
<td class="num">(105,020)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">412,313<span></span>
</td>
<td class="nump">480,137<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders&#8217; equity</a></td>
<td class="nump">$ 470,379<span></span>
</td>
<td class="nump">$ 554,057<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_AccruedExpensesAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_AccruedExpensesAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_AssetsHeldForRentNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets held for rent classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_AssetsHeldForRentNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of investments in non-marketable equity securities and available-for-sale debt securities as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267853-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=SL121698322-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12524-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126907644&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162161824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Balance Sheets (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance for doubtful accounts</a></td>
<td class="nump">$ 458<span></span>
</td>
<td class="nump">$ 275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, authorized (in shares)</a></td>
<td class="nump">150,000,000<span></span>
</td>
<td class="nump">150,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued (in shares)</a></td>
<td class="nump">42,536,734<span></span>
</td>
<td class="nump">41,817,503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, outstanding (in shares)</a></td>
<td class="nump">42,536,734<span></span>
</td>
<td class="nump">41,817,503<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_PreferredStockSharesDesignated', window );">Preferred stock, shares designated (in shares)</a></td>
<td class="nump">4,250<span></span>
</td>
<td class="nump">4,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_PreferredStockSharesDesignated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of nonredeemable preferred shares designated.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_PreferredStockSharesDesignated</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912164072464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Operations - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 40,533<span></span>
</td>
<td class="nump">$ 31,204<span></span>
</td>
<td class="nump">$ 76,752<span></span>
</td>
<td class="nump">$ 48,051<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">11,351<span></span>
</td>
<td class="nump">7,146<span></span>
</td>
<td class="nump">22,546<span></span>
</td>
<td class="nump">11,974<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">5,415<span></span>
</td>
<td class="nump">3,142<span></span>
</td>
<td class="nump">10,306<span></span>
</td>
<td class="nump">5,164<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">3,428<span></span>
</td>
<td class="nump">3,045<span></span>
</td>
<td class="nump">7,209<span></span>
</td>
<td class="nump">5,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Intangible asset impairment charges</a></td>
<td class="nump">69,900<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">69,900<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Intangible asset amortization</a></td>
<td class="nump">2,863<span></span>
</td>
<td class="nump">1,882<span></span>
</td>
<td class="nump">5,725<span></span>
</td>
<td class="nump">2,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition costs</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">272<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">1,271<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Change in fair value of contingent consideration</a></td>
<td class="num">(2,361)<span></span>
</td>
<td class="nump">1,718<span></span>
</td>
<td class="num">(5,695)<span></span>
</td>
<td class="nump">1,226<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total operating expenses</a></td>
<td class="nump">116,795<span></span>
</td>
<td class="nump">35,759<span></span>
</td>
<td class="nump">160,647<span></span>
</td>
<td class="nump">53,586<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating loss</a></td>
<td class="num">(76,262)<span></span>
</td>
<td class="num">(4,555)<span></span>
</td>
<td class="num">(83,895)<span></span>
</td>
<td class="num">(5,535)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other expense:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense, net</a></td>
<td class="num">(9)<span></span>
</td>
<td class="num">(121)<span></span>
</td>
<td class="num">(173)<span></span>
</td>
<td class="num">(137)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other (expense) income, net</a></td>
<td class="num">(22)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">110<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Change in fair value of warrant liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(121)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other expense, net</a></td>
<td class="num">(31)<span></span>
</td>
<td class="num">(121)<span></span>
</td>
<td class="num">(63)<span></span>
</td>
<td class="num">(259)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income tax benefit</a></td>
<td class="num">(76,293)<span></span>
</td>
<td class="num">(4,676)<span></span>
</td>
<td class="num">(83,958)<span></span>
</td>
<td class="num">(5,794)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax benefit</a></td>
<td class="nump">3,739<span></span>
</td>
<td class="nump">12,552<span></span>
</td>
<td class="nump">4,338<span></span>
</td>
<td class="nump">12,552<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">(72,554)<span></span>
</td>
<td class="nump">7,876<span></span>
</td>
<td class="num">(79,620)<span></span>
</td>
<td class="nump">6,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net (loss) income attributable to common shareholders:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Basic</a></td>
<td class="num">(72,554)<span></span>
</td>
<td class="nump">7,661<span></span>
</td>
<td class="num">(79,620)<span></span>
</td>
<td class="nump">6,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Diluted</a></td>
<td class="num">$ (72,554)<span></span>
</td>
<td class="nump">$ 7,668<span></span>
</td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,551<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (1.71)<span></span>
</td>
<td class="nump">$ 0.20<span></span>
</td>
<td class="num">$ (1.89)<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (1.71)<span></span>
</td>
<td class="nump">$ 0.19<span></span>
</td>
<td class="num">$ (1.89)<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares used to compute (loss) earnings per share attributable to common shareholders:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">42,460,189<span></span>
</td>
<td class="nump">38,072,712<span></span>
</td>
<td class="nump">42,238,355<span></span>
</td>
<td class="nump">35,668,124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">42,460,189<span></span>
</td>
<td class="nump">40,390,098<span></span>
</td>
<td class="nump">42,238,355<span></span>
</td>
<td class="nump">38,275,603<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 34,170<span></span>
</td>
<td class="nump">$ 27,468<span></span>
</td>
<td class="nump">$ 64,558<span></span>
</td>
<td class="nump">$ 41,244<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods and services</a></td>
<td class="nump">21,561<span></span>
</td>
<td class="nump">15,986<span></span>
</td>
<td class="nump">41,501<span></span>
</td>
<td class="nump">21,609<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,698<span></span>
</td>
<td class="nump">1,963<span></span>
</td>
<td class="nump">6,787<span></span>
</td>
<td class="nump">4,167<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods and services</a></td>
<td class="nump">2,968<span></span>
</td>
<td class="nump">1,427<span></span>
</td>
<td class="nump">5,557<span></span>
</td>
<td class="nump">2,779<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">2,665<span></span>
</td>
<td class="nump">1,773<span></span>
</td>
<td class="nump">5,407<span></span>
</td>
<td class="nump">2,640<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods and services</a></td>
<td class="nump">$ 1,665<span></span>
</td>
<td class="nump">$ 1,141<span></span>
</td>
<td class="nump">$ 3,582<span></span>
</td>
<td class="nump">$ 1,716<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAdjustmentOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (income) related to adjustment to fair value of warrant liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section 25<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=109262497&amp;loc=d3e20148-110875<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAdjustmentOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of nonoperating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_ServiceRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_RentalRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162226592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Comprehensive Loss - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (72,554)<span></span>
</td>
<td class="nump">$ 7,876<span></span>
</td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract', window );"><strong>Other comprehensive (loss) income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="num">(422)<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="num">(578)<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Unrealized loss on available-for-sale securities, net of tax</a></td>
<td class="num">(40)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(40)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive (loss) income</a></td>
<td class="num">$ (73,016)<span></span>
</td>
<td class="nump">$ 7,879<span></span>
</td>
<td class="num">$ (80,238)<span></span>
</td>
<td class="nump">$ 6,761<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912157655488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Shareholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>GCI Acquisition [Member] </div>
<div>Preferred Stock [Member] </div>
<div>Series A Preferred Stock [Member]</div>
</th>
<th class="th">
<div>GCI Acquisition [Member] </div>
<div>Common Stock [Member]</div>
</th>
<th class="th">
<div>GCI Acquisition [Member] </div>
<div>Additional Paid-in Capital [Member]</div>
</th>
<th class="th">
<div>GCI Acquisition [Member] </div>
<div>AOCI Attributable to Parent [Member]</div>
</th>
<th class="th">
<div>GCI Acquisition [Member] </div>
<div>Retained Earnings [Member]</div>
</th>
<th class="th"><div>GCI Acquisition [Member]</div></th>
<th class="th">
<div>Preferred Stock [Member] </div>
<div>Series A Preferred Stock [Member]</div>
</th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">33,039,146<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 33<span></span>
</td>
<td class="nump">$ 302,598<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (97,385)<span></span>
</td>
<td class="nump">$ 205,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">4,024<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">387,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">607<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">608<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">427,315<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,758<span></span>
</td>
<td class="nump">6,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Stock issued in acquisitions (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,636,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Stock issued in acquisitions</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">$ 232,734<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 232,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises', window );">Cashless exercises of warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">70,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises', window );">Cashless exercises of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">2,901<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,901<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">40,560,720<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 41<span></span>
</td>
<td class="nump">542,864<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="num">(90,627)<span></span>
</td>
<td class="nump">452,281<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">33,634,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 34<span></span>
</td>
<td class="nump">307,246<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(98,503)<span></span>
</td>
<td class="nump">208,777<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">2,520<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,520<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">224,894<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">364<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">364<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">65,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,876<span></span>
</td>
<td class="nump">7,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Stock issued in acquisitions (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,636,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Stock issued in acquisitions</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">$ 232,734<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 232,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">40,560,720<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 41<span></span>
</td>
<td class="nump">542,864<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="num">(90,627)<span></span>
</td>
<td class="nump">452,281<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">41,817,503<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 42<span></span>
</td>
<td class="nump">585,397<span></span>
</td>
<td class="num">(282)<span></span>
</td>
<td class="num">(105,020)<span></span>
</td>
<td class="nump">480,137<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts', window );">Fees incurred for registration filings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(76)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(76)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">11,372<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,372<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">154,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">301<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">500,597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodSharesContingentConsideration', window );">Contingent consideration shares issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">64,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodValueContingentConsideration', window );">Contingent consideration shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">816<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(578)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(578)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax', window );">Unrealized loss on available-for-sale securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(40)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(40)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(79,620)<span></span>
</td>
<td class="num">(79,620)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">42,536,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
<td class="nump">597,810<span></span>
</td>
<td class="num">(900)<span></span>
</td>
<td class="num">(184,640)<span></span>
</td>
<td class="nump">412,313<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">42,331,082<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 42<span></span>
</td>
<td class="nump">591,002<span></span>
</td>
<td class="num">(438)<span></span>
</td>
<td class="num">(112,086)<span></span>
</td>
<td class="nump">478,520<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts', window );">Fees incurred for registration filings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(24)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(24)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">5,973<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,973<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">24,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">43<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">116,951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Stock issued &#8211; on vested RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodSharesContingentConsideration', window );">Contingent consideration shares issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">64,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodValueContingentConsideration', window );">Contingent consideration shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">816<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(422)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(422)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax', window );">Unrealized loss on available-for-sale securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(40)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(40)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(72,554)<span></span>
</td>
<td class="num">(72,554)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">42,536,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
<td class="nump">$ 597,810<span></span>
</td>
<td class="num">$ (900)<span></span>
</td>
<td class="num">$ (184,640)<span></span>
</td>
<td class="nump">$ 412,313<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued during this period as cashless warrant exercise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodSharesContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued during the period under contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodSharesContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of stock issued during the period for cashless warrant exercises.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodValueContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of stock issued during the period under contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodValueContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912249578432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals) - shares<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod', window );">Cashless warrant exercises (in shares)</a></td>
<td class="nump">(0)<span></span>
</td>
<td class="nump">79,100<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of warrants or rights exercised during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ClassOfWarrantOrRightExercisedDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162963248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net (loss) income to net cash used in operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Intangible asset impairment charges</a></td>
<td class="nump">69,900<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">11,372<span></span>
</td>
<td class="nump">4,024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">5,725<span></span>
</td>
<td class="nump">2,815<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation</a></td>
<td class="nump">3,257<span></span>
</td>
<td class="nump">1,895<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_NoncashLeaseExpense', window );">Non-cash lease expense</a></td>
<td class="nump">1,308<span></span>
</td>
<td class="nump">1,047<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Change in fair value of warrant liability</a></td>
<td class="nump">(0)<span></span>
</td>
<td class="nump">121<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on disposal of property and equipment, net</a></td>
<td class="nump">35<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_GainLossOnDispositionOfAssetsHeldForRent', window );">(Gain) loss on disposal of assets held for rent, net</a></td>
<td class="num">(264)<span></span>
</td>
<td class="nump">102<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(4,338)<span></span>
</td>
<td class="num">(12,552)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Change in fair value of contingent consideration</a></td>
<td class="num">(5,695)<span></span>
</td>
<td class="nump">1,226<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingActivitiesCashFlowStatement', window );">Other</a></td>
<td class="nump">200<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract', window );"><strong>Change in operating assets and liabilities, net of effects of acquisitions</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable, trade, net</a></td>
<td class="num">(8,128)<span></span>
</td>
<td class="num">(8,494)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(4,990)<span></span>
</td>
<td class="nump">1,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits', window );">Prepaid expenses and other assets</a></td>
<td class="num">(1,492)<span></span>
</td>
<td class="nump">2,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(3,402)<span></span>
</td>
<td class="num">(2,790)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="num">(1,033)<span></span>
</td>
<td class="num">(681)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_IncreaseDecreaseInWarrantyLiability', window );">Warranty liability</a></td>
<td class="num">(676)<span></span>
</td>
<td class="num">(3,201)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(17,841)<span></span>
</td>
<td class="num">(5,902)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired in acquisition of Global Cooling, Inc.</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfMachineryAndEquipment', window );">Proceeds from sale of equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_PaymentsToAcquireAssetsHeldForRent', window );">Purchases of assets held for rent</a></td>
<td class="num">(774)<span></span>
</td>
<td class="num">(4,280)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(3,491)<span></span>
</td>
<td class="num">(4,407)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Investment in available-for-sale securities</a></td>
<td class="num">(23,075)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(27,340)<span></span>
</td>
<td class="num">(8,643)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of common stock options</a></td>
<td class="nump">301<span></span>
</td>
<td class="nump">608<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Proceeds from line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Payments on line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(12,738)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Fees incurred for registration filings</a></td>
<td class="num">(76)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other</a></td>
<td class="nump">10<span></span>
</td>
<td class="num">(380)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(470)<span></span>
</td>
<td class="nump">385<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net decrease in cash, cash equivalents, and restricted cash</a></td>
<td class="num">(45,651)<span></span>
</td>
<td class="num">(14,160)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents, and restricted cash &#8211; beginning of period</a></td>
<td class="nump">69,870<span></span>
</td>
<td class="nump">90,456<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effects of currency translation on cash, cash equivalents, and restricted cash</a></td>
<td class="num">(190)<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents, and restricted cash &#8211; end of period</a></td>
<td class="nump">24,029<span></span>
</td>
<td class="nump">76,299<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>Non-cash investing and financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock', window );">Cashless exercise of warrants reclassified from warrant liability to common stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,901<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares', window );">Cashless issuance of SciSafe earnout shares</a></td>
<td class="nump">816<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Stock issued as consideration to acquire Global Cooling, Inc.</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">232,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases', window );">Equipment acquired under operating leases</a></td>
<td class="nump">243<span></span>
</td>
<td class="nump">6,971<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Equipment acquired under finance leases</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">440<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Purchase of property and equipment not yet paid</a></td>
<td class="nump">102<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash interest paid</a></td>
<td class="nump">121<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_EquipmentLoansMember', window );">Equipment Loans [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from equipment loans</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,282<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebt', window );">Payments on equipment loans</a></td>
<td class="num">(247)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember', window );">Financed Insurance Premium [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfOtherLongTermDebt', window );">Payments on financed insurance premium</a></td>
<td class="num">$ (458)<span></span>
</td>
<td class="num">$ (187)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of reclassification from warrant liability to common stock due to cashless exercise of warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_GainLossOnDispositionOfAssetsHeldForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_GainLossOnDispositionOfAssetsHeldForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, other current assets and long-term deposits during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_IncreaseDecreaseInWarrantyLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of increase (decrease) in warranty liability during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_IncreaseDecreaseInWarrantyLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_NoncashLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash lease expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_NoncashLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The equipment acquired under operating leases in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_PaymentsToAcquireAssetsHeldForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for payments to acquire assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_PaymentsToAcquireAssetsHeldForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of stock issued during the period for cashless issuance of earnout shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAdjustmentOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (income) related to adjustment to fair value of warrant liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section 25<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=109262497&amp;loc=d3e20148-110875<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAdjustmentOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in accrued expenses, and obligations classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfMachineryAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from sale of machinery and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfMachineryAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow during the period from the repayment of aggregate short-term and long-term debt. Excludes payment of capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfOtherLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfOtherLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_EquipmentLoansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_EquipmentLoansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167711568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Organization and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of Presentation and Significant Accounting Policies [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">1.</em> Organization and significant accounting policies</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Business</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">BioLife Solutions, Inc. (&#8220;BioLife&#8221;, &#8220;us&#8221;, &#8220;we&#8221;, &#8220;our&#8221;, or the &#8220;Company&#8221;) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated cell processing fill machines, closed system cryogenic vials, human platelet lysate (&#8220;hPL&#8221;) growth media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers and biological and pharmaceutical materials storage. Our CryoStor&#174; freeze media and HypoThermosol&#174; hypothermic storage media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes hPL media, for cell expansion reducing risk and improving downstream performance inherent with the use of fetal bovine serum and human serum, and CellSeal&#174; cryogenic vials, which are purpose-built rigid containers used as a primary final package for cells used in research and clinical applications. These vials can be filled manually or with high throughput systems and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect cells from loss or contamination. Our ThawSTAR&#174; product line is comprised of a family of automated thawing devices for frozen biologic material packaged in cryovials and cryobags. These products help to reduce thawing related damage to temperature-sensitive biologic materials by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials to be stored at temperatures which range from negative <em style="font: inherit;">20&#8451;</em> to negative <em style="font: inherit;">86&#8451;.</em> Our evo&#174; shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials that can be stored at a wide range of temperatures.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Use of estimates</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#8220;U.S. GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant estimates and assumptions by management affect the Company&#8217;s net realizable value of inventory, fair value of warrant liability, valuation of market based awards, valuations and purchase price allocations related to investments and business combinations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, share-based compensation, contingent consideration from business combinations, and the recoverability of the Company&#8217;s deferred tax assets and the related valuation allowance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Basis of presentation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements included herein have been prepared by BioLife in accordance with U.S. GAAP and pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;), for Quarterly Reports on Form <em style="font: inherit;">10</em>-Q and Article <em style="font: inherit;">10</em> of Regulation S-<em style="font: inherit;">X</em> and do <em style="font: inherit;">not</em> include all of the information and footnote disclosures required by U.S. GAAP. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company&#8217;s Annual Report on Form <em style="font: inherit;">10</em>-K as of and for the fiscal year ended <em style="font: inherit;"> December 31, 2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries, SAVSU Technologies, Inc. (&#8220;SAVSU&#8221; acquired on <em style="font: inherit;"> August 8, 2019), </em>Arctic Solutions, Inc. doing business as Custom Biogenic Systems (&#8220;CBS&#8221; acquired on <em style="font: inherit;"> November 12, 2019), </em>SciSafe Holdings, Inc. (&#8220;SciSafe&#8221; acquired on <em style="font: inherit;"> October 1, 2020), </em>BioLife Solutions B.V. (formed on <em style="font: inherit;"> April 1, 2021), </em>Global Cooling, Inc. doing business as Stirling Ultracold (&#8220;Global Cooling&#8221; or &#8220;GCI&#8221; acquired on <em style="font: inherit;"> May 3, 2021), </em>and Sexton Biotechnologies, Inc. (&#8220;Sexton&#8221; acquired on <em style="font: inherit;"> September 1, 2021). </em>All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
      <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are <em style="font: inherit;">not</em> necessarily indicative of results to be expected for the entire year.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Foreign currency translation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheet, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Shareholders&#8217; Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company&#8217;s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Segment reporting</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company views its operations and makes decisions regarding how to allocate resources and manages its business as <em style="font: inherit;">one</em> reportable segment and <em style="font: inherit;">one</em> reporting unit. The Company&#8217;s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Significant accounting policies</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following describes an update to the Company&#8217;s accounting policies for investments. For a full discussion of significant accounting policies, including additional information regarding the Company&#8217;s accounting policies for investments, refer to the Notes to the Consolidated Financial Statements included within the Company&#8217;s <em style="font: inherit;">2021</em> Form <em style="font: inherit;">10</em>-K.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company classifies its investment in marketable debt securities as &#8220;available-for-sale.&#8221; Available-for-sale securities are carried at fair value with unrealized holding gains or losses recorded in other comprehensive income, net of tax. Gains or losses are included in earnings in the period in which they are realized. The cost of securities sold is determined based on the specific identification method. The cost of available-for-sale debt securities is adjusted for premiums and discounts, with the accretion or amortization of such amounts included as a portion of interest. Available-for-sale debt securities with an original maturity date less than <em style="font: inherit;">one</em> year are classified as current investments. Available-for-sale debt securities with an original maturity date exceeding <em style="font: inherit;">one</em> year are classified as long-term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Liquidity and capital resources</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>we had $47.0 million and $69.9 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next <em style="font: inherit;">twelve</em> months from the date of the filing of this Form <em style="font: inherit;">10</em>-Q. However, the Company <em style="font: inherit;"> may </em>choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be available on reasonable terms, if at all.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Risks and uncertainties</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>COVID-<em style="font: inherit;">19</em> pandemic</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our domestic and international operations have been and continue to be affected by the ongoing global pandemic of a novel strain of coronavirus (&#8220;COVID-<em style="font: inherit;">19&#8221;</em>) and the resulting volatility and uncertainty it has caused in the U.S. and international markets. Many businesses and countries, including the U.S., continue to apply preventative and precautionary measures to mitigate the spread of the virus including government orders and other restrictions on the conduct of business operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and year ended <em style="font: inherit;"> December 31, 2021, </em>we experienced supply chain disruptions due to the effects of COVID-<em style="font: inherit;">19</em> on our suppliers of sheet metal and electronic components that incorporate semiconductor chips. These supply chain disruptions decreased our profitability as a result of increased supplier pricing and production stoppages. We cannot be assured that a continued or prolonged global pandemic will <em style="font: inherit;">not</em> have other negative impacts on our manufacturing and shipping processes or our product costs. The extent to which the COVID-<em style="font: inherit;">19</em> pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-<em style="font: inherit;">19.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company <em style="font: inherit;"> may </em>also experience other negative impacts of the COVID-<em style="font: inherit;">19</em> outbreak such as the lack of availability of the Company&#8217;s key personnel, additional temporary closures of the Company&#8217;s office or the facilities of the Company&#8217;s business partners, customers, <em style="font: inherit;">third</em> party service providers or other vendors, the inability to travel to market and sell our products, and the interruption of the Company&#8217;s supply chain, distribution channels, liquidity and capital or financial markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Any disruption and volatility in the global capital markets as a result of the pandemic <em style="font: inherit;"> may </em>increase the Company&#8217;s cost of capital and adversely affect the Company&#8217;s ability to access financing when and on terms that the Company desires. In addition, a potential recession resulting from the spread of COVID-<em style="font: inherit;">19</em> could materially affect the Company&#8217;s business, especially if a recession results in higher unemployment causing potential patients to <em style="font: inherit;">not</em> have access to health insurance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
      <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The ultimate extent to which the COVID-<em style="font: inherit;">19</em> pandemic and its repercussions impact the Company&#8217;s business will depend on future developments, which are highly uncertain. However, the foregoing and other continued disruptions to the Company&#8217;s business as a result of COVID-<em style="font: inherit;">19</em> could result in a material adverse effect on the Company&#8217;s business, results of operations, financial condition and cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Concentrations of credit risk and business risk</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant customers are those that represent more than <em style="font: inherit;">10%</em> of the Company&#8217;s total revenues or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenues and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accounts Receivable</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revenue</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer A</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer B</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
     <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">* less than <em style="font: inherit;">10%</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Revenue from foreign customers is denominated in United States dollars or euros.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue by customers</b>&#8217;<b> geographic locations</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe, Middle East, Africa (EMEA)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Canada</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
</tbody></table>
     <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021,</em> <em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of purchases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of our accounts payable.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b/></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Recent accounting pronouncements</b>&#160;</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> June 2022, </em>the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">03,</em> <i>Fair Value Measurements (Topic <em style="font: inherit;">820</em>): Fair Value Measurement of Equity Securities Subject to Contractual Sales Restrictions</i>. The FASB issued ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> to (<em style="font: inherit;">1</em>) clarify the guidance in Topic <em style="font: inherit;">820,</em> Fair Value Measurement, when measuring the fair value of an equity security subject to contractual restrictions that prohibit the sale of an equity security, (<em style="font: inherit;">2</em>) to amend a related illustrative example, and (<em style="font: inherit;">3</em>) to introduce new disclosure requirements for equity related securities subject to contractual sale restrictions that are measured at fair value in accordance with Topic <em style="font: inherit;">820.</em> ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> clarifies that a contractual restriction on the sale of an equity security is <em style="font: inherit;">not</em> considered part of the unit of account of the equity security and, therefore, is <em style="font: inherit;">not</em> considered in measuring fair value. The guidance is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2023, </em>and interim periods within those fiscal years with early adoption permitted. BioLife Solutions is evaluating when to adopt the amendments in ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03.</em> BioLife Solutions does <em style="font: inherit;">not</em> expect a material impact as a result of adopting this amendment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2022, </em>the FASB issued ASU <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> <i>Financial Instruments-Credit Losses (Topic <em style="font: inherit;">326</em>): Troubled Debt Restructurings and Vintage Disclosures</i>. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> eliminates the accounting guidance for troubled debt restructurings and requires disclosure of current-period gross write-offs by year of loan origination. Additionally, ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> updates the accounting for credit losses under ASC <em style="font: inherit;">326</em> and adds enhanced disclosures with respect to loan refinancings and restructurings in the form of principal forgiveness, interest rate concessions, other-than-insignificant payment delays, or term extensions when the borrower is experiencing financial difficulties. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2022 </em>and early adoption is permitted. We are currently evaluating the impact ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> will have on our consolidated financial statements.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"/>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167862912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Disclosures [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">2.</em></b> <b>Fair value measurement</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In accordance with FASB ASC Topic <em style="font: inherit;">820,</em> <i>Fair Value Measurements and Disclosures</i>, (&#8220;ASC Topic <em style="font: inherit;">820&#8221;</em>), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level <em style="font: inherit;">1</em> or Level <em style="font: inherit;">2</em> in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level <em style="font: inherit;">2</em> in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting. ASC Topic <em style="font: inherit;">820</em> clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic <em style="font: inherit;">820</em> establishes a <em style="font: inherit;">three</em>-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">1</em> &#8211; Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">2</em> &#8211; Observable inputs other than quoted prices included in Level <em style="font: inherit;">1</em> for similar assets or liabilities, quoted prices in markets that are <em style="font: inherit;">not</em> active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Level <em style="font: inherit;">3</em> &#8211; Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of the CBS Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 26.0%, a risk-free rate of approximately 1.74% and revenue volatility of 70%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would <em style="font: inherit;">not</em> affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. Subsequent to the acquisition date, at each reporting period, the Contingent Consideration Liability is re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of <em style="font: inherit;"> December 31, 2021, </em>the Company used a discount rate of 21.0%, a risk-free rate of 0.23% and revenue volatility of 63%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021 </em>in the amount of $140,000.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of the SciSafe Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 4.5%, a risk-free rate of approximately 0.20%, asset volatility of 60%, and revenue volatility of 15%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would <em style="font: inherit;">not</em> affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $3.7 million. Subsequent to the acquisition date, the Contingent Consideration Liability was re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of <em style="font: inherit;"> June 30, 2022, </em>the Company used a discount rate of 11.0%, a risk-free rate of approximately 2.9%, asset volatility of 69%, and revenue volatility of 30%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021 </em>in the amounts of $3.4 million and $9.9 million, respectively. The changes in fair value of contingent consideration associated with this liability are included within the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. These changes were $2.4 million and $5.7 million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $1.8 million and $1.3 million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> month periods ended <em style="font: inherit;"> June 30, 2021, </em>respectively. During the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the <em style="font: inherit;">first</em> hurdle associated with this liability was satisfied and 64,130 shares were issued as payment.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">For the warrant liability, the significant Level <em style="font: inherit;">3</em> inputs included the contractual remaining term of the warrants and the volatility of the Company&#8217;s common stock. For the estimated term of the warrants, we used the actual terms of the warrants, which expired <em style="font: inherit;"> March 25, 2021. </em>On that date, all remaining warrants were exercised via a &#8220;cashless&#8221; exercise and the warrant liability was revalued to its intrinsic value, as the Company&#8217;s stock price was observable as of that date.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">There were <em style="font: inherit;">no</em> remeasurements to fair value during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>of financial assets and liabilities that are <em style="font: inherit;">not</em> measured at fair value on a recurring basis.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following tables set forth the Company&#8217;s financial assets and liabilities measured at fair value on a recurring basis as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>based on the <em style="font: inherit;">three</em>-tier fair value hierarchy:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>(In thousands)</b></p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of June 30, 2022</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash equivalents:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,086</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,086</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Non-U.S. government agency securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">748</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">748</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Marketable debt securities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">U.S. government securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,421</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,690</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">43,111</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,066</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 1</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 2</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 3</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair values of money market funds classified as Level <em style="font: inherit;">1</em> were derived from quoted market prices as active markets for these instruments exist. The fair values of investments and contingent consideration classified as Level <em style="font: inherit;">3</em> were derived from management assumptions (see Note <em style="font: inherit;">1</em> &#8211; &#8220;<i>Organization and Significant Accounting Policies.</i>&#8221;) There have been <em style="font: inherit;">no</em> transfers of assets or liabilities between the fair value measurement levels.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents the changes in fair value of contingent consideration liabilities which are measured using Level <em style="font: inherit;">3</em> inputs:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5,695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,226</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Payment of contingent consideration earned</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(817</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,378</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents the changes in fair value of warrant liabilities which are measured using Level <em style="font: inherit;">3</em> inputs:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,780</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised warrants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,901</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">121</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167857312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Investments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentTextBlock', window );">Investment [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">3.</em> Investments</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Available-for-sale securities</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#8217;s portfolio of available-for-sale marketable securities consists of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross unrealized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gains</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Losses</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, current portion</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">U.S. government securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,361</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,524</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">699</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total short-term</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,584</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,546</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, long-term</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">491</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,075</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">There were <em style="font: inherit;">no</em> outstanding available-for-sale marketable securities as of <em style="font: inherit;"> December 31, 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The contractual maturities of our available-for-sale marketable securities as of <em style="font: inherit;"> June 30, 2022 </em>are as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,584</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,546</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">491</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,075</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Equity investments</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We periodically invest in securities of private companies to promote business and strategic objectives. At <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>we held non-marketable equity securities without a readily determinable fair value, comprised of $3.4 million in Series A-<em style="font: inherit;">1</em> and A-<em style="font: inherit;">2</em> Preferred Stock in iVexSol, Inc. and $995,000 in Series E Preferred Stock in PanTHERA CryoSolutions, Inc.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 321<br> -URI https://asc.fasb.org/topic&amp;trid=75115024<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -URI https://asc.fasb.org/topic&amp;trid=2196928<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 325<br> -URI https://asc.fasb.org/topic&amp;trid=2197064<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -URI https://asc.fasb.org/topic&amp;trid=2196965<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167808320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Inventory<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventory Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">4.</em> Inventory</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Inventory consists of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Raw materials</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,457</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,252</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Work in progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,791</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,015</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finished goods</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,087</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,078</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">33,335</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">28,345</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167872704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_LesseeLeasesTextBlock', window );">Lessee, Leases [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">5.</em> Leases</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We have various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases have remaining lease terms of <em style="font: inherit;"><span style="-sec-ix-hidden:c86201240">one</span></em> to <span style="-sec-ix-hidden:c86201241">ten</span> years. We exclude options that are <em style="font: inherit;">not</em> reasonably certain to be exercised from our lease terms, ranging from <em style="font: inherit;">one</em> to <em style="font: inherit;">five</em> years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases have terms between <em style="font: inherit;"><span style="-sec-ix-hidden:c86201246">one</span></em> and <span style="-sec-ix-hidden:c86201247">five</span> years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our financing leases relate to research equipment, machinery, and other equipment.&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company&#8217;s leases as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The components of lease expense for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> were as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">679</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,836</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,154</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Short-term lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">450</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">986</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,448</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,129</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,822</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,815</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Variable lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">254</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">157</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">559</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">284</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,286</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,381</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,099</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Maturities of our lease liabilities as of <em style="font: inherit;"> June 30, 2022 </em>are as follows:&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Financing</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,756</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">86</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,199</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">171</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,921</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">101</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,461</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,001</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,364</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total lease payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">396</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: interest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,764</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total present value of lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,938</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">366</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_LesseeLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating and financing leases of lessee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_LesseeLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167773472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Assets Held for Rent<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_AssetsHeldForRentTextBlock', window );">Assets Held For Rent [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">6.</em></b> <b>Assets held for rent</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Assets held for rent consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers placed in service</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,274</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,645</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Fixed assets held for rent</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,686</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,040</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,737</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,272</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,223</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,413</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers and related components in production</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,860</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,396</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,083</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,809</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $868,000 and $1.8 million in depreciation expense related to assets held for rent during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $299,000 and $483,000 during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_AssetsHeldForRentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_AssetsHeldForRentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167702608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock', window );">Property, Plant, and Equipment and Intangible Assets [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">7.</em> Property and equipment</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Leasehold improvements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,049</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,840</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Furniture and computer equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,878</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,861</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Manufacturing and other equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,047</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16,675</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Construction in-progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,990</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,022</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,964</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">24,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,847</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;">Property and equipment, net</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,117</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,657</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Depreciation expense for property and equipment was $730,000 and $1.5 million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $819,000 and $1.4 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for intangible assets and long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI https://asc.fasb.org/topic&amp;trid=2144416<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167862912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">8.</em> Goodwill and intangible assets</b>&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Goodwill</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is <em style="font: inherit;">not</em> amortized, but instead is tested for impairment at least annually in accordance with ASC <em style="font: inherit;">350.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Intangible assets</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Intangible assets, net consisted of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Useful Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,984</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,976</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,008</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,635</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,571</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,064</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13.3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">38,410</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(10,766</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,644</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,986</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(725</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,261</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.5</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#8317;&#185;&#8318;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,562</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(18,038</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">76,524</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9.2</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>



    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="10" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated<br/> Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying<br/> Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted<br/> Average Useful<br/> Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,776</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,740</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10.3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35,574</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,306</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33,268</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41,942</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7,789</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,153</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.9</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,990</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(442</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,548</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.0</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#8317;&#185;&#8318;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">164,462</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,313</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">152,149</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">(<em style="font: inherit;">1</em>) In-process R&amp;D represents the fair value of incomplete research and development. We will begin to amortize the asset upon completion of development.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization expense for definite-lived intangible assets was $2.9 million and $5.7 million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $1.9 million and $2.8 million for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>the Company expects to record the following amortization expense for definite-lived intangible assets:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Years Ending December 31,</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Expense</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,005</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,570</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,745</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,975</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">28,284</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">67,977</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Interim impairment testing as of <em style="font: inherit;"> June 30, 2022</em></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the Company experienced a significant decline in its market capitalization. In <em style="font: inherit;"> July 2022, </em>the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these <em style="font: inherit;">three</em> events constituted interim triggering events that required further analysis with respect to potential impairment to goodwill, indefinite-lived intangibles, and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the <em style="font: inherit;"> June 30, 2022 </em>balance sheet date.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">To assess any potential impairment of goodwill, the Company compared the carrying value of its single reporting unit against its market capitalization, noting that the market capitalization exceeded the carrying value. As such, goodwill was <em style="font: inherit;">not</em> impaired as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The abandonment of the aforementioned in-process research and development project resulted in a $8.0 million non-cash impairment charge during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2022 </em>in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the entirety of the asset&#8217;s carrying value.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In order to determine the fair value of our in-process research and development intangible assets <em style="font: inherit;">not</em> related to the abandoned project, the Company utilized an average of a discounted cash flow analysis and comparable public company analysis. The key assumptions associated with determining the estimated fair value include projected future revenue growth rates, earnings before interest, taxes, depreciation and amortization ("EBITDA") margins, the terminal growth rate, and the discount rate. As a result of the changes in these assumptions, we recognized a $50.9 million non-cash impairment charge during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2022 </em>in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#8217;s in-process research and development intangible assets and their carrying value. The carrying value of these assets prior to the impairment charge was $59.4 million.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In order to determine the fair value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, the Company utilized the excess earnings approach, distributor method, relief from royalty method, and with and without approach, respectively. The key assumptions associated with determining the estimated fair value include (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#8217;s life cycle, and (iv) the competitive trends impacting the asset. As a result of the analysis, we recognized non-cash impairment charges of $3.5 million, $1.5 million, $5.9 million, and $4,000 during the period ended <em style="font: inherit;"> June 30, 2022 </em>for the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, respectively, in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#8217;s definite-lived intangible assets and their carrying values. The carrying value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets were $31.2 million, $14.5 million, $32.0 million, and $1.3 million respectively prior to the impairment charges.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value determinations require considerable judgment and are sensitive to changes in underlying assumptions, estimates and market factors. Estimating the fair value of the Company&#8217;s reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets requires us to make assumptions and estimates regarding our future plans, as well as industry, economic, and regulatory conditions. These assumptions and estimates include projected future revenue growth rates, EBITDA margins, terminal growth rates, discount rates, royalty rates and other market factors. If current expectations of future growth rates, margins and cash flows are <em style="font: inherit;">not</em> met, or if market factors outside of our control change significantly, then our reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets might become impaired in the future, negatively impacting our operating results and financial position. As the carrying amounts of the Company&#8217;s indefinite-lived and definite-lived intangible assets were impaired as of <em style="font: inherit;"> June 30, 2022 </em>and written down to fair value, those amounts are more susceptible to an impairment risk if there are unfavorable changes in assumptions and estimates.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI https://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162212352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses and Other Current Liabilities<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock', window );">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">9.</em> Accrued expenses and other current liabilities</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Accrued expenses and other current liabilities consist of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued compensation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,638</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,351</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,954</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,656</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred revenue, current</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">431</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">814</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">131</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">294</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued expenses and other current liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,187</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,142</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912168002752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Warranty Reserve Liability<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">Product Warranty Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">10.</em> Warranty reserve liability</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We reserve estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">A rollforward of our warranty liability is as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">212</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Warranty reserve acquired in the acquisition of Global Cooling</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,353</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Provision for warranties</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,514</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">610</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Settlements of warranty claims</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,190</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(761</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending Balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,722</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,414</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167827536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Long-term Debt<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Long-Term Debt [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">11.</em> Long-term debt</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt consisted of the following as of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 42.1%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 12.9%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Maturity Date</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Interest Rate</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 1</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Sep-24</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,750</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,750</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 2</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,896</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,813</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Insurance premium financing</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Apr-23</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">869</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">373</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer equipment loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Dec-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">537</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">612</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Manufacturing equipment loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Oct-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">311</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">355</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer installation loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,208</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,334</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt, excluding unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,578</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,246</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(31</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: current portion</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,363</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total long-term debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,353</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The <em style="font: inherit;">2022</em> term loans are secured by substantially all assets of Global Cooling. Equipment loans are secured by the financed equipment.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">As of <em style="font: inherit;"> June 30, 2022, </em>the scheduled maturities of loans payable for each of the next <em style="font: inherit;">five</em> years and thereafter were as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">759</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,165</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,294</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">543</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">221</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,596</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt, excluding unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,578</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Less: unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,551</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167872704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Warrants<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_WarrantsTextBlock', window );">Warrants [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">12.</em> Warrants</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2014, </em>pursuant to a registered public offering and note conversion agreement with certain note holders, the Company issued warrants to purchase 6,910,283 shares of common stock at $4.75 per share. The warrants had an original expiration date of <em style="font: inherit;"> March 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> May 2016, </em>in connection with a credit facility, the Company issued a warrant to purchase 550,000 shares of common stock at $1.75 per share. The warrant was immediately exercisable and had an original expiration date of <em style="font: inherit;"> May 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> May 2020, </em>the Company entered into separate warrant exercise agreements with WAVI Holding AG and <em style="font: inherit;">Taurus4757</em> GmbH pursuant to which the warrant holders immediately exercised their respective warrants via a &#8220;cashless&#8221; exercise as agreed to by the Company. As a result of the cashless exercise, the Company issued an aggregate of 2,747,970 shares of Company common stock upon cashless exercise of an aggregate of 3,871,405 warrants.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2021, </em>all remaining outstanding warrants were exercised via a &#8220;cashless&#8221; exercise. As a result of the cashless exercise, the Company issued an aggregate of 70,030 shares of Company common stock upon cashless exercise of an aggregate of 79,100 warrants.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes warrant activity for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="7" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td colspan="5" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>2021</b></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">79,100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_WarrantsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Entire disclosure for warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_WarrantsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167937856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Revenue<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue from Contract with Customer [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">13.</em> Revenue</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">To determine revenue recognition for contractual arrangements that we determine are within the scope of Financial Accounting Standards Board (&#8220;FASB&#8221;) Topic <em style="font: inherit;">606,</em> <i>Revenue from Contracts with Customers</i>, we perform the following <em style="font: inherit;">five</em> steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the <em style="font: inherit;">five</em>-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers <em style="font: inherit;"> may </em>contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is <em style="font: inherit;">not</em> observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within <em style="font: inherit;">30</em> to <em style="font: inherit;">90</em> days. During the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>the Company recognized approximately $382,000 and $456,000, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph <em style="font: inherit;">606</em>-<em style="font: inherit;">10</em>-<em style="font: inherit;">32</em>-<em style="font: inherit;">18,</em> the Company does <em style="font: inherit;">not</em> assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is <em style="font: inherit;">one</em> year or less. <em style="font: inherit;">None</em> of the Company&#8217;s contracts contained a significant financing component as of and during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its storage and storage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is <em style="font: inherit;">not</em> within the scope of FASB ASC Topic <em style="font: inherit;">606</em> as it is within the scope of FASB ASC Topic <em style="font: inherit;">842,</em><i> Lease</i>s. All customers leasing shippers currently do so under month-to-month rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company enters into various customer service agreements (collectively, &#8220;Service Contracts&#8221;) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of <em style="font: inherit;">one</em> customer. This is primarily driven by the customer&#8217;s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements <em style="font: inherit;"> may </em>include extension and termination clauses. These Service Contracts do <em style="font: inherit;">not</em> allow for customers to purchase the underlying assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (&#8220;Embedded Leases&#8221;), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company&#8217;s property, plant, and equipment or operating right-of-use assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under ASC <em style="font: inherit;">842,</em> consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><em style="font: inherit;">None</em> of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. <em style="font: inherit;">None</em> of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Embedded Leases <em style="font: inherit;"> may </em>contain both lease and non-lease components. We have elected to utilize the practical expedient to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company&#8217;s rental arrangements include reimbursements of lessor costs.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total bioproduction tools and services revenue for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> were comprised of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Freezer and thaw</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,670</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,564</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,005</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,411</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cell processing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,356</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,699</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">30,254</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,626</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">299</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">207</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,698</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,963</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,787</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,167</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,665</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,773</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,407</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,640</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,204</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">76,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">48,051</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table includes estimated rental revenue expected to be recognized in the future related to embedded leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing <em style="font: inherit;">not</em> to disclose the value of the remaining unsatisfied performance obligation with a duration of <em style="font: inherit;">one</em> year or less as permitted by the practical expedient in ASU <em style="font: inherit;">2014</em>-<em style="font: inherit;">09,</em> <i>Revenue from Contracts with Customers</i>. The estimated revenue in the following table does <em style="font: inherit;">not</em> include contracts with the original durations of <em style="font: inherit;">one</em> year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Year Ending December 31,</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022 (6 months<br/> remaining)</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2024</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,901</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203881">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,735</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203883">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">900</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203885">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,536</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">151</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203888">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203890">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203892">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">349</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912168150176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Share-Based Payment Arrangement [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">14.</em></b> <b>Share-based compensation </b>&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Service vesting-based stock options</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of service vesting-based stock option activity for the <em style="font: inherit;"> June 30, 2022, </em>and the status of service vesting-based stock options outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">624,531</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.13</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,504</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.95</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">470,027</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options exercisable as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">470,027</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense related to service-based options of <span style="-sec-ix-hidden:c86201627">zero</span> during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and $6,000 and $15,000 during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $5.5 million of aggregate intrinsic value of outstanding and exercisable service vesting-based stock options. Intrinsic value is the total pretax intrinsic value for all &#8220;in-the-money&#8221; options (i.e., the difference between the Company&#8217;s closing stock price on the last trading day of the year and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on <em style="font: inherit;"> June 30, 2022. </em>This amount will change based on the fair market value of the Company&#8217;s stock. Intrinsic value of service vesting-based awards exercised was $390,000 and $3.9 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $475,000 and $3.8 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. There were no service based-vesting options granted during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022. </em>The weighted average remaining contractual life of service vesting-based options outstanding and exercisable as of <em style="font: inherit;"> June 30, 2022 </em>is 3.3 years. There were no unrecognized compensation costs for service vesting-based stock options as of <em style="font: inherit;"> June 30, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Performance-based stock options</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><span style="-sec-ix-hidden:c86201650">No</span> stock compensation expense was recognized during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021</em> related to performance-based options. There were no performance-based stock options exercised in the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022. </em>The intrinsic value of performance-based awards exercised was $6.9 million and $9.8 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;">2021,</em> respectively. There were no stock options granted to employees and non-employee directors in the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><i>Service vesting-based restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of service vesting-based restricted stock activity for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>and the status of unvested service vesting-based restricted stock outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg. Grant Date Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,212,783</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37.48</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">372,069</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23.72</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(282,317</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34.65</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Forfeited</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(55,802</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">45.38</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,246,733</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">33.65</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate fair value of the service vesting-based awards granted was $883,000 and $8.8 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $2.4 million and $4.6 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. The aggregate fair value of the service vesting-based awards that vested was $2.0 million and $7.0 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $2.5 million and $5.2 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense related to service vesting-based awards of $4.7 million and $9.4 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $2.1 million and $3.5 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $35.8 million in unrecognized compensation costs related to service vesting-based awards. We expect to recognize those costs over 2.7 years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Market-based restricted stock</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following is a summary of market-based restricted stock activity under our stock option plan for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and the status of market-based restricted stock outstanding as of <em style="font: inherit;"> June 30, 2022:</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Grant Date<br/> Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">139,756</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">19.86</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">349,568</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22.66</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(218,280</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10.95</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">271,044</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30.64</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> March 25, 2020, </em>the Company granted 109,140 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on Total Shareholder Return (&#8220;TSR&#8221;). The TSR market condition measures the Company&#8217;s performance against a peer group. On <em style="font: inherit;"> February 24, 2022, </em>the Company&#8217;s Compensation Committee determined the TSR attainment was 200% of the targeted shares and 218,280 shares were granted and immediately vested to the executives of the Company based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2020 </em>through <em style="font: inherit;"> December 31, 2021 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined at the grant date using a Monte Carlo simulation with the following assumptions: a historical volatility of 78%, 0% dividend yield and a risk-free interest rate of 0.3%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the <em style="font: inherit;">2</em>-year term associated with the market condition of the award. The fair value of this award of $1.2 million was expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2021.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 8, 2021, </em>the Company granted 30,616 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#8217;s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2021 </em>through <em style="font: inherit;"> December 31, 2022 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 68%, 0% dividend yield and a risk-free interest rate of 0.1%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $1.3 million is being expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2022.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 24, 2022, </em>the Company granted 240,428 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#8217;s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on <em style="font: inherit;"> January 1, 2022 </em>through <em style="font: inherit;"> December 31, 2023 </em>as compared to the total shareholder return of <em style="font: inherit;">20</em> of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 63%, 0% dividend yield and a risk-free interest rate of 1.5%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a <em style="font: inherit;">0%</em> dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.7 million is being expensed on a straight-line basis over the grant date to the vesting date of <em style="font: inherit;"> December 31, 2023.</em></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recognized stock compensation expense of $1.2 million and $1.8 million related to market-based restricted stock awards for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $441,000 and $726,000 during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. As of <em style="font: inherit;"> June 30, 2022, </em>there was $5.7 million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over 1.4 years.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate fair value of the market-based awards granted was <span style="-sec-ix-hidden:c86201745">zero</span> and $6.7 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $261,000 and $1.8 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively. The aggregate fair value of the market-based awards that vested was <span style="-sec-ix-hidden:c86201753">zero</span> and $5.0 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and <span style="-sec-ix-hidden:c86201757">zero</span> and $10.2 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Total stock compensation expense</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded total stock compensation expense for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021,</em> as follows:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">714</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">437</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,391</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">738</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">269</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,443</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">453</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,719</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,667</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,729</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,646</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">802</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">147</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,809</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">305</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,973</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,520</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,372</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,024</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162173632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Acquisitions<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combination Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">15.</em> Acquisitions</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Sexton acquisition </b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>General terms and effects</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> August 9, 2021, </em>BioLife entered into an Agreement and Plan of Merger (the &#8220;Sexton Merger Agreement&#8221;) with BLFS Merger Sub, Inc., a Delaware corporation (&#8220;Sexton Merger Sub&#8221;), Fortis Advisors LLC, in its capacity as the representative of the stockholders of Sexton (the &#8220;Sexton Seller Representative&#8221;) and Sexton, a Delaware corporation. The acquisition strengthens BioLife&#8217;s offerings in the cell and gene therapy and broader biopharma markets.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> September 1, 2021, </em>the Company completed the merger of Sexton Merger Sub with and into Sexton and Sexton became a wholly-owned subsidiary of the Company (the &#8220;Sexton Merger&#8221;). As consideration for the Sexton Merger (the &#8220;Sexton Merger Consideration&#8221;), holders of common stock, preferred stock and options of Sexton, other than the Company (collectively, the &#8220;Sexton Participating Holders&#8221;), are entitled to receive an aggregate of 530,502 newly issued shares of the Company&#8217;s common stock, subject to certain post-closing adjustments, of which 477,452 shares of Common Stock were issued to the Sexton Participating Holders at the Closing, and 53,050 shares of Common Stock, or approximately 10% of the Merger consideration, were deposited into an escrow account for indemnification and post-closing purchase price adjustment purposes. Prior to the merger, the Company held preferred stock in Sexton, which was accounted for using a measurement alternative that measures the securities at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar investments of the same issuer. The Company accounted for the merger as a step acquisition, which required remeasurement of the Company&#8217;s existing ownership in Sexton to fair value prior to completing the acquisition method of accounting. Using step acquisition accounting, the Company increased the value of its existing equity interest to its fair value, resulting in the recognition of a non-cash gain of $6.5 million. The Company utilized a market-based valuation approach to determine the fair value of the existing equity interest based on the total merger consideration offered and the Company&#8217;s stock price at acquisition.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total consideration transferred (in thousands, except number of shares and stock price):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">530,502</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of September 1, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">60.50</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,095</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Fair value of BioLife&#8217;s existing investment in Sexton</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,951</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Net working capital adjustment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(118</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,928</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction costs related to the acquisition are expensed as incurred and are <em style="font: inherit;">not</em> included in the calculation of consideration transferred.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Fair value of net assets acquired</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under the acquisition method of accounting, the assets acquired and liabilities assumed from Sexton were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $509,000. Of the acquired accounts receivable, $17,000 is estimated to be uncollectable. The fair value calculations required critical estimates, including, but <em style="font: inherit;">not</em> limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">492</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,310</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">670</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">737</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,132</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,276</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,324</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">90</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28,470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(291</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,482</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(316</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>39,928</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded a measurement period adjustment in the <em style="font: inherit;">fourth</em> quarter of the year ended <em style="font: inherit;"> December 31, 2021 </em>of $198,000 to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of Sexton&#8217;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;">
     <tbody>
      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="4" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 5%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Useful </b></b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Life (Years)</b></b></p> </td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,132</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">-</em></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,276</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">2</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,324</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">11</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">90</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>8,822</b></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><b>&#160;</b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 3%;"><b><em style="font: inherit;">&#160;</em></b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><em style="font: inherit;">&#160;</em></td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; width: 3%;"><b><em style="font: inherit;">&#160;</em></b></td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into <em style="font: inherit;">one</em> of <em style="font: inherit;">three</em> approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all <em style="font: inherit;">three</em> approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The estimated fair values of developed technology were estimated using a multi-period excess earnings approach. The estimated fair values of customer relationships and non-compete agreements were estimated using a &#8220;with and without&#8221; approach, comparing projected cash flows under scenarios assuming the customer relationships and non-compete agreements were and were <em style="font: inherit;">not</em> in place. The estimated fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are <em style="font: inherit;">not</em> limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#8217;s life cycle, and (iv) the competitive trends impacting the asset.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Acquired goodwill</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The goodwill of $28.5 million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is <em style="font: inherit;">not</em> deductible for income tax purposes.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Global Cooling acquisition </b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>General terms and effects</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> March 19, 2021, </em>the Company entered into an Agreement and Plan of Merger (the &#8220;GCI Merger Agreement&#8221;) with BLFS Merger Subsidiary, Inc., a Delaware corporation (&#8220;GCI Merger Sub&#8221;), Global Cooling, a Delaware corporation and Albert Vierling and William Baumel, in their capacity as the representatives of the stockholders of GCI (collectively, the &#8220;GCI Seller Representative&#8221;). The acquisition strengthens BioLife&#8217;s offerings in the cell and gene therapy and broader biopharma markets.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> May 3, 2021, </em>pursuant to the GCI Merger Agreement, subject to the terms and conditions set forth therein, the transactions contemplated by the GCI Merger Agreement were consummated (the &#8220;GCI Closing&#8221;), GCI Merger Sub merged with and into GCI (the &#8220;GCI Merger&#8221; and, together with other transactions contemplated by the GCI Merger Agreement, the &#8220;GCI Transactions&#8221;), with GCI continuing as the surviving corporation in the GCI Merger and a wholly-owned subsidiary of the Company. In the GCI Merger, all of the issued and outstanding shares of capital stock of GCI immediately prior to the filing of the Certificate of Merger with the Secretary of State of the State of Delaware (other than those properly exercising any applicable dissenter&#8217;s rights under Delaware law) were converted into the right to receive the GCI Merger Consideration (as defined below). The Company paid the GCI Merger Consideration to the holders of common stock and preferred stock of GCI (collectively, the &#8220;GCI Stockholders&#8221;).</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Merger consideration</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The aggregate merger consideration paid pursuant to the GCI Merger Agreement to the GCI Stockholders was 6,646,870 newly issued shares of common stock, provided, however, that the GCI Merger Consideration otherwise payable to GCI Stockholders is subject to the withholding of the GCI Escrow Shares (as defined below) and is subject to reduction for indemnification obligations. The GCI Merger Consideration allocable to <em style="font: inherit;">one</em> GCI stockholder was reduced by 10,400 shares to satisfy an outstanding note receivable of $374,000. In accordance with ASC <em style="font: inherit;">805,</em> the Company recognized the settlement of pre-existing relationships in the forms of cash deposits, trade receivables, and trade payables, which are included in the consideration transferred. The GCI Merger Consideration is <em style="font: inherit;">not</em> subject to any purchase price adjustments.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total consideration transferred (in thousands, except number of shares, stock price, and consideration percentage):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife shares outstanding (as of March 19, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33,401,359</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration percentage</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19.9</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,646,870</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,400</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,636,470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of May 3, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35.07</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">232,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Settlement of BioLife prepaid deposits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,152</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Net settlement of BioLife accounts receivable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">234,909</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction costs related to the acquisition are expensed as incurred and are <em style="font: inherit;">not</em> included in the calculation of consideration transferred.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><i>Escrow shares</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">At the GCI Closing, approximately <em style="font: inherit;">nine</em> percent (9%) of the GCI Merger Consideration (the &#8220;Escrow Shares&#8221;, along with any other dividends, distributions or other income on the GCI Escrow Shares, the &#8220;GCI Escrow Property&#8221;) otherwise issuable to the GCI Stockholders (allocated pro rata among the GCI Stockholders based on the GCI Merger Consideration otherwise issuable to them at the GCI Closing), was deposited into a segregated escrow account in accordance with an escrow agreement to be entered into in connection with the GCI Transactions (the &#8220;GCI Escrow Agreement&#8221;).</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The GCI Escrow Property will be held for a period of up to <em style="font: inherit;">twenty-four</em> (24) months after the GCI Closing as the sole and exclusive source of payment for any post-GCI Closing indemnification claims (other than fraud claims), unless earlier released in accordance with the terms of the GCI Escrow Agreement.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Fair value of net assets acquired</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Under the acquisition method of accounting, the assets acquired and liabilities assumed from Global Cooling were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $7.1 million. Of the acquired accounts receivable, $53,000 was estimated to be uncollectable. The fair value calculations required critical estimates, including, but <em style="font: inherit;">not</em> limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">43</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,076</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">639</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,512</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Financing lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">114</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term deposits and other assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,020</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,640</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,240</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">137,822</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(9,837</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Line of credit</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,231</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,880</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, financing</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(114</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,410</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(24,133</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,464</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>234,909</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We recorded a measurement period adjustment in the <em style="font: inherit;">fourth</em> quarter of the year ended <em style="font: inherit;"> December 31, 2021 </em>of $607,000 to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The fair value of Global Cooling&#8217;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Useful </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Life (Years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">6</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,020</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">12</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,640</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">15</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,240</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>120,480</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><b><em style="font: inherit;">&#160;</em></b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"><b>&#160;</b></td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into <em style="font: inherit;">one</em> of <em style="font: inherit;">three</em> approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all <em style="font: inherit;">three</em> approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The fair values of developed technology and in-process research and development were estimated using a multi-period excess earnings approach. The fair values of customer relationships were estimated using the &#8220;distributor method&#8221;. The fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset. The fair values of non-compete agreements were estimated using a &#8220;with and without&#8221; approach, comparing projected cash flows under scenarios assuming the non-compete agreements were and were <em style="font: inherit;">not</em> in place. The fair value of inventory and property, plant and equipment were determined using the &#8220;market approach&#8221;.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are <em style="font: inherit;">not</em> limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#8217;s life cycle, and (iv) the competitive trends impacting the asset.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> July 2022, </em>the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these events constituted interim triggering events that required further analysis with respect to potential impairment to indefinite-lived intangibles and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the <em style="font: inherit;"> June 30, 2022 </em>balance sheet date, noting that the values of indefinite-lived intangibles and definite-lived intangibles were impaired by $58.9 million and $11.0 million, respectively. See Note <em style="font: inherit;">8</em> &#8211; &#8220;<i>Goodwill and intangible assets</i>&#8221; for details.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Acquired goodwill</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The goodwill of $137.8 million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is <em style="font: inherit;">not</em> deductible for income tax purposes.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Pro forma presentation</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following unaudited pro forma financial information presents the combined results of operations of Sexton as if the acquisition had occurred on <em style="font: inherit;"> January 1, 2021 </em>after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,810</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50,665</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,085</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,162</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following unaudited pro forma financial information presents the combined results of operations of Global Cooling as if the acquisition had occurred on <em style="font: inherit;"> January 1, 2021 </em>after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, amortization of increased inventory basis, depreciation expense, lease expense, transaction costs, interest expense, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">51,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">85,985</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,141</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(6,095</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI https://asc.fasb.org/topic&amp;trid=2303972<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4946-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167779328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Tax Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">16.</em> Income taxes</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company accounts for income taxes under ASC Topic <em style="font: inherit;">740</em> &#8211; Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#8217;s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax benefit of $4.3 million for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>resulted in an effective income tax rate of 5%. Included in the <em style="font: inherit;">$4.3</em> million were discrete tax benefits of $235,000 related to stock compensation windfall tax benefits offset by an increase in the valuation allowance.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company&#8217;s US projected effective income tax rate without discrete items was 5%, which is lower than the US federal statutory rate of 21% primarily due to the impact of a projected valuation allowance on net operating loss carryforwards and non-deductible executive compensation offset by state tax benefits and research tax credits.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company&#8217;s management evaluates both positive and negative evidence when concluding whether it is more likely than <em style="font: inherit;">not</em> that deferred tax assets are realizable. After reviewing the evidence available, the Company&#8217;s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $21.6 million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912168002752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Net (Loss) Income Per Common Share<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b><em style="font: inherit;">17.</em> Net (loss) income per common share</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company considers its unexercised warrants and unvested restricted shares, which contain non-forfeitable rights to dividends, participating securities, and includes such participating securities in its computation of earnings per share pursuant to the <em style="font: inherit;">two</em>-class method. Basic earnings per share for the <em style="font: inherit;">two</em> classes of stock (common stock and warrants) is calculated by dividing net loss by the weighted average number of shares of common stock and warrants outstanding during the reporting period. Diluted earnings per share is calculated using&#160;the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the <em style="font: inherit;">two</em>-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table presents computations of basic and diluted earnings per share under the <em style="font: inherit;">two</em>-class method:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share and earnings per share data)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Basic earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,876</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,758</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(215</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(208</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income allocated to common shareholders</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,661</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,543</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,072,712</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,668,124</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.71</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.20</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.89</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.18</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Diluted earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,876</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,758</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(208</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(200</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Less: gain related to change in fair value of warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,668</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,551</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">38,072,712</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35,668,124</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Dilutive potential common shares from:</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Stock options</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,249,810</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,436,767</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,067,576</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,134,003</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">36,709</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted weighted average shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">40,390,098</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,275,603</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.71</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.89</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table sets forth the number of weighted-average common shares excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options and restricted stock awards</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,942,812</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,767,841</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,942,812</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,767,841</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912169035184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">18.</em> Commitments and contingencies</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Employment agreements</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">We have employment agreements with certain key employees. <em style="font: inherit;">None</em> of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we <em style="font: inherit;"> may </em>be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Litigation</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, <em style="font: inherit;">none</em> of which are currently material to the Company&#8217;s business.&#160;The Company&#8217;s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company <em style="font: inherit;"> may </em>be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is <em style="font: inherit;">not</em> aware of any significant pending or threatened litigation.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Indemnification</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As permitted under Delaware law and in accordance with the Company&#8217;s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the indemnification rights and agreements is minimal. Accordingly, the Company has <em style="font: inherit;">not</em> recorded any liabilities for these indemnification rights and agreements as of <em style="font: inherit;"> June 30, 2022.</em></p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912168002752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Employee Benefit Plan<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanTextBlock', window );">Defined Contribution Plan [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">19.</em> Employee benefit plan</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company sponsors <em style="font: inherit;">401</em>(k) defined contribution plans for its employees. These plans provide for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees <em style="font: inherit;"> may </em>contribute up to 100% of their annual compensation to these plans, as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company&#8217;s sole discretion. The Company made $301,000 and $527,000 in contributions to the plan for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively, and $216,000 and $350,000 for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021, </em>respectively.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -URI https://asc.fasb.org/subtopic&amp;trid=2235116<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167687488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><em style="font: inherit;">20.</em> Subsequent events</b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has evaluated events subsequent to <em style="font: inherit;"> June 30, 2022 </em>through the date of this filing to assess the need for potential recognition or disclosure. Based upon this evaluation, it was determined that <em style="font: inherit;">no</em> subsequent events occurred that require recognition or disclosure in the Unaudited Condensed Consolidated Financial Statements.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162103680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Use of estimates</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#8220;U.S. GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant estimates and assumptions by management affect the Company&#8217;s net realizable value of inventory, fair value of warrant liability, valuation of market based awards, valuations and purchase price allocations related to investments and business combinations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, share-based compensation, contingent consideration from business combinations, and the recoverability of the Company&#8217;s deferred tax assets and the related valuation allowance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Accounting, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Basis of presentation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements included herein have been prepared by BioLife in accordance with U.S. GAAP and pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;), for Quarterly Reports on Form <em style="font: inherit;">10</em>-Q and Article <em style="font: inherit;">10</em> of Regulation S-<em style="font: inherit;">X</em> and do <em style="font: inherit;">not</em> include all of the information and footnote disclosures required by U.S. GAAP. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company&#8217;s Annual Report on Form <em style="font: inherit;">10</em>-K as of and for the fiscal year ended <em style="font: inherit;"> December 31, 2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries, SAVSU Technologies, Inc. (&#8220;SAVSU&#8221; acquired on <em style="font: inherit;"> August 8, 2019), </em>Arctic Solutions, Inc. doing business as Custom Biogenic Systems (&#8220;CBS&#8221; acquired on <em style="font: inherit;"> November 12, 2019), </em>SciSafe Holdings, Inc. (&#8220;SciSafe&#8221; acquired on <em style="font: inherit;"> October 1, 2020), </em>BioLife Solutions B.V. (formed on <em style="font: inherit;"> April 1, 2021), </em>Global Cooling, Inc. doing business as Stirling Ultracold (&#8220;Global Cooling&#8221; or &#8220;GCI&#8221; acquired on <em style="font: inherit;"> May 3, 2021), </em>and Sexton Biotechnologies, Inc. (&#8220;Sexton&#8221; acquired on <em style="font: inherit;"> September 1, 2021). </em>All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
      <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are <em style="font: inherit;">not</em> necessarily indicative of results to be expected for the entire year.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Transactions and Translations Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Foreign currency translation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheet, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Shareholders&#8217; Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company&#8217;s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Segment reporting</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company views its operations and makes decisions regarding how to allocate resources and manages its business as <em style="font: inherit;">one</em> reportable segment and <em style="font: inherit;">one</em> reporting unit. The Company&#8217;s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SignificantAccountingPoliciesPolicyTextBlock', window );">Significant Accounting Policies [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Significant accounting policies</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following describes an update to the Company&#8217;s accounting policies for investments. For a full discussion of significant accounting policies, including additional information regarding the Company&#8217;s accounting policies for investments, refer to the Notes to the Consolidated Financial Statements included within the Company&#8217;s <em style="font: inherit;">2021</em> Form <em style="font: inherit;">10</em>-K.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company classifies its investment in marketable debt securities as &#8220;available-for-sale.&#8221; Available-for-sale securities are carried at fair value with unrealized holding gains or losses recorded in other comprehensive income, net of tax. Gains or losses are included in earnings in the period in which they are realized. The cost of securities sold is determined based on the specific identification method. The cost of available-for-sale debt securities is adjusted for premiums and discounts, with the accretion or amortization of such amounts included as a portion of interest. Available-for-sale debt securities with an original maturity date less than <em style="font: inherit;">one</em> year are classified as current investments. Available-for-sale debt securities with an original maturity date exceeding <em style="font: inherit;">one</em> year are classified as long-term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock', window );">Liquidity and Capital Resources, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Liquidity and capital resources</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em>we had $47.0 million and $69.9 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next <em style="font: inherit;">twelve</em> months from the date of the filing of this Form <em style="font: inherit;">10</em>-Q. However, the Company <em style="font: inherit;"> may </em>choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be available on reasonable terms, if at all.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_RiskAndUncertaintiesPolicyPolicyTextBlock', window );">Risk and Uncertainties, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Risks and uncertainties</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>COVID-<em style="font: inherit;">19</em> pandemic</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Our domestic and international operations have been and continue to be affected by the ongoing global pandemic of a novel strain of coronavirus (&#8220;COVID-<em style="font: inherit;">19&#8221;</em>) and the resulting volatility and uncertainty it has caused in the U.S. and international markets. Many businesses and countries, including the U.S., continue to apply preventative and precautionary measures to mitigate the spread of the virus including government orders and other restrictions on the conduct of business operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and year ended <em style="font: inherit;"> December 31, 2021, </em>we experienced supply chain disruptions due to the effects of COVID-<em style="font: inherit;">19</em> on our suppliers of sheet metal and electronic components that incorporate semiconductor chips. These supply chain disruptions decreased our profitability as a result of increased supplier pricing and production stoppages. We cannot be assured that a continued or prolonged global pandemic will <em style="font: inherit;">not</em> have other negative impacts on our manufacturing and shipping processes or our product costs. The extent to which the COVID-<em style="font: inherit;">19</em> pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-<em style="font: inherit;">19.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company <em style="font: inherit;"> may </em>also experience other negative impacts of the COVID-<em style="font: inherit;">19</em> outbreak such as the lack of availability of the Company&#8217;s key personnel, additional temporary closures of the Company&#8217;s office or the facilities of the Company&#8217;s business partners, customers, <em style="font: inherit;">third</em> party service providers or other vendors, the inability to travel to market and sell our products, and the interruption of the Company&#8217;s supply chain, distribution channels, liquidity and capital or financial markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Any disruption and volatility in the global capital markets as a result of the pandemic <em style="font: inherit;"> may </em>increase the Company&#8217;s cost of capital and adversely affect the Company&#8217;s ability to access financing when and on terms that the Company desires. In addition, a potential recession resulting from the spread of COVID-<em style="font: inherit;">19</em> could materially affect the Company&#8217;s business, especially if a recession results in higher unemployment causing potential patients to <em style="font: inherit;">not</em> have access to health insurance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
      <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The ultimate extent to which the COVID-<em style="font: inherit;">19</em> pandemic and its repercussions impact the Company&#8217;s business will depend on future developments, which are highly uncertain. However, the foregoing and other continued disruptions to the Company&#8217;s business as a result of COVID-<em style="font: inherit;">19</em> could result in a material adverse effect on the Company&#8217;s business, results of operations, financial condition and cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration Risk, Credit Risk, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Concentrations of credit risk and business risk</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Significant customers are those that represent more than <em style="font: inherit;">10%</em> of the Company&#8217;s total revenues or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenues and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accounts Receivable</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revenue</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer A</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer B</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
     <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">* less than <em style="font: inherit;">10%</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Revenue from foreign customers is denominated in United States dollars or euros.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue by customers</b>&#8217;<b> geographic locations</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe, Middle East, Africa (EMEA)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Canada</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
</tbody></table>
     <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;">2021,</em> <em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of purchases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> June 30, 2022 </em>and <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">no</em> suppliers accounted for more than <em style="font: inherit;">10%</em> of our accounts payable.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Recent accounting pronouncements</b>&#160;</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> June 2022, </em>the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">03,</em> <i>Fair Value Measurements (Topic <em style="font: inherit;">820</em>): Fair Value Measurement of Equity Securities Subject to Contractual Sales Restrictions</i>. The FASB issued ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> to (<em style="font: inherit;">1</em>) clarify the guidance in Topic <em style="font: inherit;">820,</em> Fair Value Measurement, when measuring the fair value of an equity security subject to contractual restrictions that prohibit the sale of an equity security, (<em style="font: inherit;">2</em>) to amend a related illustrative example, and (<em style="font: inherit;">3</em>) to introduce new disclosure requirements for equity related securities subject to contractual sale restrictions that are measured at fair value in accordance with Topic <em style="font: inherit;">820.</em> ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03</em> clarifies that a contractual restriction on the sale of an equity security is <em style="font: inherit;">not</em> considered part of the unit of account of the equity security and, therefore, is <em style="font: inherit;">not</em> considered in measuring fair value. The guidance is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2023, </em>and interim periods within those fiscal years with early adoption permitted. BioLife Solutions is evaluating when to adopt the amendments in ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">03.</em> BioLife Solutions does <em style="font: inherit;">not</em> expect a material impact as a result of adopting this amendment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2022, </em>the FASB issued ASU <em style="font: inherit;">No.</em> <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> <i>Financial Instruments-Credit Losses (Topic <em style="font: inherit;">326</em>): Troubled Debt Restructurings and Vintage Disclosures</i>. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> eliminates the accounting guidance for troubled debt restructurings and requires disclosure of current-period gross write-offs by year of loan origination. Additionally, ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> updates the accounting for credit losses under ASC <em style="font: inherit;">326</em> and adds enhanced disclosures with respect to loan refinancings and restructurings in the form of principal forgiveness, interest rate concessions, other-than-insignificant payment delays, or term extensions when the borrower is experiencing financial difficulties. ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> is effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2022 </em>and early adoption is permitted. We are currently evaluating the impact ASU <em style="font: inherit;">2022</em>-<em style="font: inherit;">02</em> will have on our consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for liquidity and capital resources.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_RiskAndUncertaintiesPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for risk and uncertainties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_RiskAndUncertaintiesPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_SignificantAccountingPoliciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The accounting policy for significant accounting policies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_SignificantAccountingPoliciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912165837664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Organization and Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</a></td>
<td class="text">
     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accounts Receivable</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revenue</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer A</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">*</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer B</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">*</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
    <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Revenue from External Customers by Products and Services [Table Text Block]</a></td>
<td class="text">
     <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue by customers</b>&#8217;<b> geographic locations</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe, Middle East, Africa (EMEA)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Canada</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">%</p> </td></tr>
</tbody></table>
    <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6327-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6442-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912157497568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of June 30, 2022</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash equivalents:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,086</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,086</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Non-U.S. government agency securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">748</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">748</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Marketable debt securities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">U.S. government securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other debt securities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,421</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,690</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">43,111</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,066</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 1</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 2</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Level 3</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Money market accounts</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contingent consideration - business combinations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByLiabilityClassAxis=blfs_WarrantLiabilitiesMember', window );">Warrant Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,780</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised warrants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,901</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">121</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByLiabilityClassAxis=blfs_ContingentConsiderationLiabilitiesMember', window );">Contingent Consideration Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,027</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in fair value recognized in net (loss) income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5,695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,226</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Payment of contingent consideration earned</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(817</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,515</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,378</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=blfs_WarrantLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=blfs_WarrantLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=blfs_ContingentConsiderationLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=blfs_ContingentConsiderationLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167797728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Investments (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock', window );">Debt Securities, Available-for-Sale [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross unrealized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gains</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Losses</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, current portion</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">U.S. government securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,361</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10,335</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,524</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">699</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total short-term</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,584</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,546</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Available-for-sale securities, long-term</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other debt securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">491</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,075</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortized</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Estimated</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Cost</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,584</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,546</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">491</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,075</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -URI https://asc.fasb.org/topic&amp;trid=2196928<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163073520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Raw materials</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,457</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,252</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Work in progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,791</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,015</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finished goods</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,087</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,078</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">33,335</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">28,345</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912168982496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock', window );">Lessee, Operating and Finance Lease Term And Discount Rate [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average discount rate - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Weighted average remaining lease term in years - finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease, Cost [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">679</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,836</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,154</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Short-term lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">450</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">986</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total operating lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,448</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,129</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,822</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,815</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Variable lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">254</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">157</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">559</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">284</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total lease costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,286</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,381</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,099</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Financing</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Leases</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,756</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">86</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,199</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">171</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,921</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">101</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,461</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,001</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,364</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total lease payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">396</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: interest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,764</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total present value of lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,938</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">366</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure represents the operating and finance lease term and discount rate of leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167867456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Assets Held for Rent (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ScheduleOfAssetsHeldForRentTableTextBlock', window );">Scheduleof Assets Held for Rent [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers placed in service</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,274</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,645</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Fixed assets held for rent</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,686</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,040</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,737</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,272</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,223</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,413</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shippers and related components in production</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,860</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,396</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,083</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,809</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ScheduleOfAssetsHeldForRentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ScheduleOfAssetsHeldForRentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163143760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Leasehold improvements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,049</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,840</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Furniture and computer equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,878</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,861</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Manufacturing and other equipment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,047</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16,675</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Construction in-progress</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,990</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,022</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,964</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">24,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Less: Accumulated depreciation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,847</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;">Property and equipment, net</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,117</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,657</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167889888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Useful Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,984</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,976</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,008</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,635</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,571</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,064</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13.3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">38,410</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(10,766</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,644</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,986</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(725</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,261</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.5</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#8317;&#185;&#8318;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,562</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(18,038</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">76,524</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9.2</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except weighted average useful life)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="10" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Intangible assets:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross Carrying Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated<br/> Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Carrying<br/> Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted<br/> Average Useful<br/> Life (in years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer Relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,776</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,740</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10.3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35,574</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,306</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33,268</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Technology - acquired</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41,942</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7,789</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,153</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.9</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,990</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(442</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,548</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.0</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development&#8317;&#185;&#8318;</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">164,462</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,313</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">152,149</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9.8</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Years Ending December 31,</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Expense</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,005</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,570</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,745</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,975</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">28,284</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">67,977</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167915568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses and Other Current Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherCurrentLiabilitiesTableTextBlock', window );">Other Current Liabilities [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued compensation</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,638</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,351</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,954</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,656</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred revenue, current</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">431</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">814</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">131</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">294</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued expenses and other current liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,187</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,142</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherCurrentLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of other current liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherCurrentLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167839312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Warranty Reserve Liability (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Product Warranty Liability [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,398</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">212</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Warranty reserve acquired in the acquisition of Global Cooling</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,353</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Provision for warranties</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,514</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">610</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Settlements of warranty claims</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,190</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(761</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending Balance</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,722</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,414</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162232096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Long-term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of Debt [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 42.1%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 12.9%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Maturity Date</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Interest Rate</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 1</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Sep-24</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,750</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,750</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 term loan 2</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,896</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,813</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Insurance premium financing</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Apr-23</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">869</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">373</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer equipment loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Dec-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">537</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">612</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Manufacturing equipment loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Oct-25</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">311</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">355</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Freezer installation loan</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,208</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,334</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other loans</p> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><em style="font: inherit;">Various</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt, excluding unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,578</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,246</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: unamortized debt issuance costs</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(31</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,551</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Less: current portion</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,363</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><em style="font: inherit;">Total long-term debt</em></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,353</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of Maturities of Long-Term Debt [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022 (6 months remaining)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">759</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,165</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,294</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">543</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">221</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,596</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt, excluding unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,578</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Less: unamortized debt issuance costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,551</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167908784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Warrants (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="7" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td colspan="5" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>2021</b></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Beginning balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">79,100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,100</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Ending balance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6784392&amp;loc=d3e188667-122775<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912165764832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_RevenuesByProductLineTableTextBlock', window );">Revenues By Product Line [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except percentages)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Product revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Freezer and thaw</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,670</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,564</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,005</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22,411</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cell processing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,356</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,699</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">30,254</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,626</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">299</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">207</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,698</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,963</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,787</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,167</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Storage and storage services</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,665</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,773</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,407</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,640</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,204</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">76,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">48,051</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Year Ending December 31,</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022 (6 months<br/> remaining)</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2024</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Rental revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,901</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203881">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,735</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203883">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">900</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203885">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,536</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Service revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">151</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203888">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203890">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c86203892">&#160;</span></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">349</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_RevenuesByProductLineTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of revenues by product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_RevenuesByProductLineTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of expected timing for satisfying remaining performance obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167690336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Exercise Price</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">624,531</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.13</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Exercised</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,504</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.95</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">470,027</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options exercisable as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">470,027</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg. Grant Date Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,212,783</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37.48</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">372,069</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23.72</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(282,317</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34.65</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Forfeited</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(55,802</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">45.38</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,246,733</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">33.65</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Wtd. Avg.<br/> Grant Date<br/> Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Outstanding as of beginning of year</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">139,756</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">19.86</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Granted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">349,568</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22.66</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Vested</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(218,280</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10.95</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-vested as of June 30, 2022</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">271,044</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30.64</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Research and development costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">714</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">437</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,391</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Sales and marketing costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">738</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">269</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,443</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">453</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">General and administrative costs</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,719</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,667</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,729</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,646</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">802</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">147</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,809</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">305</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,973</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,520</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,372</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,024</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912164017984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">530,502</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of September 1, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">60.50</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,095</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Fair value of BioLife&#8217;s existing investment in Sexton</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,951</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Net working capital adjustment</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(118</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,928</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife shares outstanding (as of March 19, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33,401,359</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration percentage</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19.9</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger consideration shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,646,870</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,400</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Subtotal</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,636,470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">BioLife stock price (as of May 3, 2021)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35.07</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Value of issued shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">232,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Settlement of BioLife prepaid deposits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,152</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">plus: Net settlement of BioLife accounts receivable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Merger Consideration</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">234,909</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,516</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">492</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,310</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">670</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">737</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,132</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,276</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,324</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">90</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28,470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(291</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(470</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,482</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(316</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>39,928</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">43</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts receivable, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,076</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Inventories</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15,547</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Prepaid expenses and other current assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">639</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property, plant and equipment, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,512</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,741</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Financing lease right-of-use assets, net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">114</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term deposits and other assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,020</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,640</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,240</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">137,822</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accounts payable</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(9,837</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Line of credit</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,231</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, operating</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,880</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities, financing</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(114</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term debt</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,410</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liability</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(24,133</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,464</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Fair value of net assets acquired</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>234,909</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</a></td>
<td class="text">
    <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;">
     <tbody>
      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="4" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 5%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Useful </b></b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Life (Years)</b></b></p> </td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,132</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">-</em></td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,276</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">2</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,324</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">11</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">90</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1</td>
       <td style="width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td>
      </tr>

      <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 76%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>8,822</b></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><b>&#160;</b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 3%;"><b><em style="font: inherit;">&#160;</em></b></td>
       <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"><em style="font: inherit;">&#160;</em></td>
       <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; width: 3%;"><b><em style="font: inherit;">&#160;</em></b></td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Useful </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Life (Years)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Developed technology</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18,140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">6</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,020</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">12</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">26,640</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">15</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreements</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,240</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">In-process research and development</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,440</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">N/A</em></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total identifiable intangible assets</b></p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td>
       <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>120,480</b></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><b><em style="font: inherit;">&#160;</em></b></td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"><b>&#160;</b></td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Business Acquisition, Pro Forma Information [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,810</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50,665</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,085</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,162</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(unaudited)</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">51,035</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">85,985</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,141</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(6,095</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162238336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Net (Loss) Income Per Common Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>(In thousands, except share and earnings per share data)</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Basic earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,876</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,758</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(215</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(208</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income allocated to common shareholders</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,661</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,543</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,072,712</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,668,124</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.71</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.20</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.89</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.18</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Diluted earnings (loss) per common share Numerator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net (loss) income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,876</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,758</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to unvested restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(208</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(200</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amount attributable to warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Less: gain related to change in fair value of warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(72,554</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,668</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,620</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,551</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
       <td>&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Denominator:</b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
       <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Weighted-average common shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">38,072,712</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35,668,124</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Dilutive potential common shares from:</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Stock options</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,249,810</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,436,767</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Restricted shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,067,576</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,134,003</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Warrants</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">36,709</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted weighted average shares issued and outstanding</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,460,189</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">40,390,098</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42,238,355</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,275,603</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted (loss) earnings per common share</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.71</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.19</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1.89</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom;">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stock options and restricted stock awards</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,942,812</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,767,841</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,942,812</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,767,841</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167855600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Organization and Significant Accounting Policies (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestments', window );">Cash, Cash Equivalents, and Short-Term Investments, Total</a></td>
<td class="nump">$ 47.0<span></span>
</td>
<td class="nump">$ 69.9<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912157592032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details) - Customer Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Accounts Receivable [Member] | Customer A [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration by customer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Accounts Receivable [Member] | Customer B [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration by customer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Revenue Benchmark [Member] | Customer B [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration by customer</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=blfs_CustomerAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=blfs_CustomerAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=blfs_CustomerBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=blfs_CustomerBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912157572912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details) - Revenue Benchmark [Member] - Geographic Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue by customers' geographic locations, percentage</a></td>
<td class="nump">75.00%<span></span>
</td>
<td class="nump">82.00%<span></span>
</td>
<td class="nump">77.00%<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">EMEA [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue by customers' geographic locations, percentage</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">CANADA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue by customers' geographic locations, percentage</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Geographic, Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue by customers' geographic locations, percentage</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">All Location [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue by customers' geographic locations, percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_EMEAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=blfs_GeographicOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=blfs_GeographicOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=blfs_AllLocationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=blfs_AllLocationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912161904496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement (Details Textual)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 01, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Nov. 10, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</a></td>
<td class="num">$ (2,361,000)<span></span>
</td>
<td class="nump">$ 1,718,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,695,000)<span></span>
</td>
<td class="nump">$ 1,226,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember', window );">CBS Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 140,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember', window );">CBS Acquisition [Member] | Measurement Input, Discount Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.260<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember', window );">CBS Acquisition [Member] | Measurement Input, Risk Free Interest Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.0023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.0174<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember', window );">CBS Acquisition [Member] | Measurement Input, Price Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.70<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember', window );">SciSafe Holdings, Inc [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="nump">3,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,900,000<span></span>
</td>
<td class="nump">$ 3,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</a></td>
<td class="nump">$ 2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,800,000<span></span>
</td>
<td class="nump">$ 5,700,000<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationContingentConsiderationStockIssued', window );">Business Combination, Contingent Consideration, Stock Issued (in shares) | shares</a></td>
<td class="nump">64,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember', window );">SciSafe Holdings, Inc [Member] | Measurement Input, Discount Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="nump">11.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember', window );">SciSafe Holdings, Inc [Member] | Measurement Input, Risk Free Interest Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="nump">2.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.0020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember', window );">SciSafe Holdings, Inc [Member] | Measurement Input, Asset Price Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="nump">69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.60<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember', window );">SciSafe Holdings, Inc [Member] | Measurement Input, Revenue Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business Combination, Contingent Consideration, Liability, Measurement Input</a></td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationContingentConsiderationStockIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued for contingent consideration under business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationContingentConsiderationStockIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of input used to measure contingent consideration liability from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_CBSAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SciSafeHoldingsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=blfs_MeasurementInputAssetPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=blfs_MeasurementInputAssetPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=blfs_MeasurementInputRevenueVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=blfs_MeasurementInputRevenueVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163684096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">$ 23,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets</a></td>
<td class="nump">43,111<span></span>
</td>
<td class="nump">$ 63,873<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration - business combinations</a></td>
<td class="nump">3,515<span></span>
</td>
<td class="nump">10,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Debt</a></td>
<td class="nump">7,551<span></span>
</td>
<td class="nump">7,215<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">11,066<span></span>
</td>
<td class="nump">17,242<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | US Government Agencies Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">10,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Corporate Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">11,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">1,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Money Market Funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">17,086<span></span>
</td>
<td class="nump">63,873<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Corporate Debt Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">2,242<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Non-US Government Agency Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">748<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets</a></td>
<td class="nump">27,421<span></span>
</td>
<td class="nump">63,873<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration - business combinations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | US Government Agencies Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">10,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Corporate Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Money Market Funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">17,086<span></span>
</td>
<td class="nump">63,873<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Corporate Debt Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Non-US Government Agency Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets</a></td>
<td class="nump">15,690<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration - business combinations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Debt</a></td>
<td class="nump">7,551<span></span>
</td>
<td class="nump">7,215<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">7,551<span></span>
</td>
<td class="nump">7,215<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | US Government Agencies Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Corporate Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">11,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">1,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Money Market Funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Corporate Debt Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">2,242<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Non-US Government Agency Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">748<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration - business combinations</a></td>
<td class="nump">3,515<span></span>
</td>
<td class="nump">10,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">3,515<span></span>
</td>
<td class="nump">10,027<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | US Government Agencies Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Corporate Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Money Market Funds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Corporate Debt Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Non-US Government Agency Securities, Cash Equivalents [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=blfs_CorporateDebtSecuritiesCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=blfs_CorporateDebtSecuritiesCashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912165752512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details) - Contingent Consideration Liabilities [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">$ 10,027<span></span>
</td>
<td class="nump">$ 7,152<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1', window );">Change in fair value recognized in net (loss) income</a></td>
<td class="num">(5,695)<span></span>
</td>
<td class="nump">1,226<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Payment of contingent consideration earned</a></td>
<td class="num">(817)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Ending balance</a></td>
<td class="nump">$ 3,515<span></span>
</td>
<td class="nump">$ 8,378<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=blfs_ContingentConsiderationLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=blfs_ContingentConsiderationLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912165898208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details) - Warrant Liabilities [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 2,780<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Exercised warrants</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,901)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1', window );">Change in fair value recognized in net (loss) income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">121<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Ending balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=blfs_WarrantLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=blfs_WarrantLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162294336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 3 - Investments (Details Textual) - Contingent Convertible Preferred Stock [Member]<br></strong></div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_ContingentConvertiblePreferredStockMember', window );">Series A-1 and A-2, Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount', window );">Equity Securities without Readily Determinable Fair Value, Amount</a></td>
<td class="nump">$ 3,400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_ContingentConvertiblePreferredStockMember', window );">Series E Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount', window );">Equity Securities without Readily Determinable Fair Value, Amount</a></td>
<td class="nump">$ 995,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security without readily determinable fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 321<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126980263&amp;loc=SL75117539-209714<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_ContingentConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_ContingentConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=blfs_SeriesA1AndA2PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=blfs_SeriesA1AndA2PreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesEPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_SeriesEPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155295696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Investments - Available-For-Sale Marketable Securities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, Current</a></td>
<td class="nump">$ 22,584<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent', window );">Debt Securities, Available-for-Sale, Unrealized Loss, Current</a></td>
<td class="nump">38<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Available-for-sale securities, current portion</a></td>
<td class="nump">22,546<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, NoncurrentDebt Securities, Available-for-Sale, Amortized Cost, Noncurrent</a></td>
<td class="nump">491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent', window );">Available-for-sale securities, long-term</a></td>
<td class="nump">489<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Debt Securities, Available-for-Sale, Amortized Cost, Total</a></td>
<td class="nump">23,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total marketable securities</a></td>
<td class="nump">40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Debt Securities, Available-for-Sale, Total</a></td>
<td class="nump">23,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Due in one year or less</a></td>
<td class="nump">22,584<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Due in one year or less</a></td>
<td class="nump">22,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent', window );">Due after one year through five years</a></td>
<td class="nump">491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Due after one year through five years</a></td>
<td class="nump">489<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total</a></td>
<td class="nump">23,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable debt securities</a></td>
<td class="nump">23,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">US Government Agencies Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, Current</a></td>
<td class="nump">10,361<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent', window );">Debt Securities, Available-for-Sale, Unrealized Loss, Current</a></td>
<td class="nump">26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Available-for-sale securities, current portion</a></td>
<td class="nump">10,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Due in one year or less</a></td>
<td class="nump">10,361<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate Debt Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, Current</a></td>
<td class="nump">11,524<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent', window );">Debt Securities, Available-for-Sale, Unrealized Loss, Current</a></td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Available-for-sale securities, current portion</a></td>
<td class="nump">11,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Due in one year or less</a></td>
<td class="nump">11,524<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember', window );">Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, Current</a></td>
<td class="nump">699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent', window );">Debt Securities, Available-for-Sale, Unrealized Loss, Current</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Available-for-sale securities, current portion</a></td>
<td class="nump">695<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent', window );">Debt Securities, Available-for-Sale, Amortized Cost, NoncurrentDebt Securities, Available-for-Sale, Amortized Cost, Noncurrent</a></td>
<td class="nump">491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent', window );">Debt Securities, Available-for-Sale, Unrealized Loss, Noncurrent</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent', window );">Available-for-sale securities, long-term</a></td>
<td class="nump">489<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Due in one year or less</a></td>
<td class="nump">699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent', window );">Due after one year through five years</a></td>
<td class="nump">$ 491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Current portion of amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The non-current portion of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267853-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=SL121698322-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162015312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Inventory - Summary of Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 18,457<span></span>
</td>
<td class="nump">$ 17,252<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work in progress</a></td>
<td class="nump">4,791<span></span>
</td>
<td class="nump">5,015<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">10,087<span></span>
</td>
<td class="nump">6,078<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total</a></td>
<td class="nump">$ 33,335<span></span>
</td>
<td class="nump">$ 28,345<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155373232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Leases (Details Textual)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Real Estate Lease[Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Lessee, Operating Lease, Remaining Lease Term (Year)</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Lease Extensions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, Operating Lease, Term of Contract (Year)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Real Estate Lease[Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Lessee, Operating Lease, Remaining Lease Term (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Lease Extensions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, Operating Lease, Term of Contract (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseContractualTermAxis=blfs_RealEstateLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseContractualTermAxis=blfs_RealEstateLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseContractualTermAxis=blfs_LeaseExtensionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseContractualTermAxis=blfs_LeaseExtensionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162916208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Leases - Lease Term and Discount Rate (Details)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate - operating leases</a></td>
<td class="nump">3.80%<span></span>
</td>
<td class="nump">3.80%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate - finance leases</a></td>
<td class="nump">6.10%<span></span>
</td>
<td class="nump">6.10%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term in years - operating leases (Year)</a></td>
<td class="text">7 years 6 months<span></span>
</td>
<td class="text">7 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term in years - finance leases (Year)</a></td>
<td class="text">2 years 6 months<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162198848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Leases - Components of Lease Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease costs</a></td>
<td class="nump">$ 929<span></span>
</td>
<td class="nump">$ 679<span></span>
</td>
<td class="nump">$ 1,836<span></span>
</td>
<td class="nump">$ 1,154<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease costs</a></td>
<td class="nump">519<span></span>
</td>
<td class="nump">450<span></span>
</td>
<td class="nump">986<span></span>
</td>
<td class="nump">661<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_OperatingLeaseCostsAndShorttermLeaseCosts', window );">Total operating lease costs</a></td>
<td class="nump">1,448<span></span>
</td>
<td class="nump">1,129<span></span>
</td>
<td class="nump">2,822<span></span>
</td>
<td class="nump">1,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease costs</a></td>
<td class="nump">254<span></span>
</td>
<td class="nump">157<span></span>
</td>
<td class="nump">559<span></span>
</td>
<td class="nump">284<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease costs</a></td>
<td class="nump">$ 1,702<span></span>
</td>
<td class="nump">$ 1,286<span></span>
</td>
<td class="nump">$ 3,381<span></span>
</td>
<td class="nump">$ 2,099<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_OperatingLeaseCostsAndShorttermLeaseCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of operating lease costs along with short-term lease costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_OperatingLeaseCostsAndShorttermLeaseCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155450240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Leases - Maturities of Lease Liabilities (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2022 (6 months remaining), operating leases</a></td>
<td class="nump">$ 1,756<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2022 (6 months remaining), finance leases</a></td>
<td class="nump">86<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, operating leases</a></td>
<td class="nump">3,199<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, finance leases</a></td>
<td class="nump">171<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024, operating leases</a></td>
<td class="nump">2,921<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2024, finance leases</a></td>
<td class="nump">101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2025, operating leases</a></td>
<td class="nump">2,461<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2025, finance leases</a></td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2026, operating leases</a></td>
<td class="nump">2,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2026, finance leases</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour', window );">Thereafter, operating leases</a></td>
<td class="nump">8,364<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour', window );">Thereafter, finance leases</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total operating lease payments</a></td>
<td class="nump">20,702<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total financing lease payments, finance leases</a></td>
<td class="nump">396<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: operating lease interest</a></td>
<td class="num">(2,764)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: financing lease interest</a></td>
<td class="num">(30)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total present value of operating lease liabilities</a></td>
<td class="nump">17,938<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total present value of financing lease liabilities</a></td>
<td class="nump">$ 366<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162057840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Assets Held for Rent (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_AssetsHeldForRentDepreciation', window );">Assets Held for Rent, Depreciation</a></td>
<td class="nump">$ 868,000<span></span>
</td>
<td class="nump">$ 299,000<span></span>
</td>
<td class="nump">$ 1,800,000<span></span>
</td>
<td class="nump">$ 483,000<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_AssetsHeldForRentDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of depreciation expenses recognized for assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_AssetsHeldForRentDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155389264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Assets Held for Rent - Assets Held for Rent (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShippersPlacedInServiceGross', window );">Shippers placed in service</a></td>
<td class="nump">$ 6,274<span></span>
</td>
<td class="nump">$ 5,645<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_FixedAssetsHeldForRent', window );">Fixed assets held for rent</a></td>
<td class="nump">4,686<span></span>
</td>
<td class="nump">4,040<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShippersPlacedInServiceDepreciation', window );">Accumulated depreciation</a></td>
<td class="num">(3,737)<span></span>
</td>
<td class="num">(2,272)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShippersPlacedInServiceNet', window );">Net</a></td>
<td class="nump">7,223<span></span>
</td>
<td class="nump">7,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShippersAndRelatedComponentsInProduction', window );">Shippers and related components in production</a></td>
<td class="nump">1,860<span></span>
</td>
<td class="nump">2,396<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet', window );">Total</a></td>
<td class="nump">$ 9,083<span></span>
</td>
<td class="nump">$ 9,809<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_FixedAssetsHeldForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the fixed assets held for rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_FixedAssetsHeldForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShippersAndRelatedComponentsInProduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value of shippers and related components in production.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShippersAndRelatedComponentsInProduction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents shippers placed in service and fixed assets held for rent, net</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShippersPlacedInServiceDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of depreciation related to shippers placed in service.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShippersPlacedInServiceDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShippersPlacedInServiceGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The gross value of shippers placed in service.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShippersPlacedInServiceGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShippersPlacedInServiceNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value of shippers placed in service, net of accumulated depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShippersPlacedInServiceNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162992656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property and Equipment (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation, Total</a></td>
<td class="nump">$ 730,000<span></span>
</td>
<td class="nump">$ 819,000<span></span>
</td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="nump">$ 1,400,000<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163911760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Property and Equipment - Schedule of Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment</a></td>
<td class="nump">$ 26,964<span></span>
</td>
<td class="nump">$ 24,398<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation</a></td>
<td class="num">(7,847)<span></span>
</td>
<td class="num">(6,741)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">19,117<span></span>
</td>
<td class="nump">17,657<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment</a></td>
<td class="nump">4,049<span></span>
</td>
<td class="nump">3,840<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=blfs_FurnitureAndComputerEquipmentMember', window );">Furniture and Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment</a></td>
<td class="nump">1,878<span></span>
</td>
<td class="nump">1,861<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ManufacturingFacilityMember', window );">Manufacturing Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment</a></td>
<td class="nump">18,047<span></span>
</td>
<td class="nump">16,675<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in Progress [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment</a></td>
<td class="nump">$ 2,990<span></span>
</td>
<td class="nump">$ 2,022<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=blfs_FurnitureAndComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=blfs_FurnitureAndComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ManufacturingFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ManufacturingFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163980656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Goodwill and Intangible Assets (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="nump">$ 2,863,000<span></span>
</td>
<td class="nump">$ 1,882,000<span></span>
</td>
<td class="nump">$ 5,725,000<span></span>
</td>
<td class="nump">$ 2,815,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">67,977,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,977,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_AbandonedInProcessResearchAndDevelopmentMember', window );">Abandoned In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="nump">8,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember', window );">In Process Research and Development Not Related to Abandonment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 59,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="nump">3,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">27,644,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,644,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,200,000<span></span>
</td>
<td class="nump">$ 34,153,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="nump">1,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">13,008,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,008,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,500,000<span></span>
</td>
<td class="nump">15,740,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="nump">5,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">26,064,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,064,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,000,000.0<span></span>
</td>
<td class="nump">33,268,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of Intangible Assets (Excluding Goodwill), Total</a></td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">$ 1,261,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,261,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="nump">$ 1,548,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_AbandonedInProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_AbandonedInProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162759728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th" colspan="2"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">$ (18,038)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">$ (12,313)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">67,977<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Total intangible assets, gross</a></td>
<td class="nump">94,562<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">164,462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total intangible assets, net</a></td>
<td class="nump">$ 76,524<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 152,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (Year)</a></td>
<td class="text">9 years 2 months 12 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">9 years 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 15,984<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 17,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,976)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,776)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 13,008<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 15,740<span></span>
</td>
<td class="nump">$ 14,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Weighted Average [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (Year)</a></td>
<td class="text">9 years 9 months 18 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">10 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 29,635<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 35,574<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(3,571)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(2,306)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 26,064<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 33,268<span></span>
</td>
<td class="nump">32,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Weighted Average [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (Year)</a></td>
<td class="text">13 years 3 months 18 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">13 years 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 38,410<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 41,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(10,766)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(7,789)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 27,644<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 34,153<span></span>
</td>
<td class="nump">31,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | Weighted Average [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (Year)</a></td>
<td class="text">5 years 4 months 24 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">5 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 1,986<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 1,990<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(725)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(442)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 1,261<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 1,548<span></span>
</td>
<td class="nump">$ 1,300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Weighted Average [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (Year)</a></td>
<td class="text">2 years 6 months<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember', window );">In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 8,547<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 67,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 8,547<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 67,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">In-process R&amp;D represents the fair value of incomplete research and development that has not yet reached technological feasibility. We will amortize the asset upon technological feasibility.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsGrossExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_WeightedAverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_WeightedAverageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912253429504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2022 (6 months remaining)</a></td>
<td class="nump">$ 5,005<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2023</a></td>
<td class="nump">9,570<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2024</a></td>
<td class="nump">8,745<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2025</a></td>
<td class="nump">8,398<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2026</a></td>
<td class="nump">7,975<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour', window );">Thereafter</a></td>
<td class="nump">28,284<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 67,977<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912161888464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses and Other Current Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationLiabilityCurrent', window );">Accrued compensation</a></td>
<td class="nump">$ 4,638<span></span>
</td>
<td class="nump">$ 4,351<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">1,954<span></span>
</td>
<td class="nump">1,656<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="nump">431<span></span>
</td>
<td class="nump">814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued taxes</a></td>
<td class="nump">33<span></span>
</td>
<td class="nump">27<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">131<span></span>
</td>
<td class="nump">294<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_AccruedExpensesAndOtherCurrentLiabilities', window );">Total accrued expenses and other current liabilities</a></td>
<td class="nump">$ 7,187<span></span>
</td>
<td class="nump">$ 7,142<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_AccruedExpensesAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_AccruedExpensesAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable within one year (or the operating cycle, if longer). Represents currently earned compensation under compensation arrangements that is not actually paid until a later date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19512-108361<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 30<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6409875&amp;loc=d3e20028-108363<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912158654848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">$ 9,398<span></span>
</td>
<td class="nump">$ 212<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition', window );">Warranty reserve acquired in the acquisition of Global Cooling</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,353<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provision for warranties</a></td>
<td class="nump">1,514<span></span>
</td>
<td class="nump">610<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Settlements of warranty claims</a></td>
<td class="num">(2,190)<span></span>
</td>
<td class="num">(761)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Ending Balance</a></td>
<td class="nump">$ 8,722<span></span>
</td>
<td class="nump">$ 3,414<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from a business acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912164156368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Long-term Debt - Long-term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 7,578<span></span>
</td>
<td class="nump">$ 7,246<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Less: unamortized debt issuance costs</a></td>
<td class="num">(27)<span></span>
</td>
<td class="num">(31)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt</a></td>
<td class="nump">7,551<span></span>
</td>
<td class="nump">7,215<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion</a></td>
<td class="num">(1,363)<span></span>
</td>
<td class="num">(862)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total long-term debt</a></td>
<td class="nump">$ 6,188<span></span>
</td>
<td class="nump">6,353<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan1Member', window );">The 2022 Term Loan 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 1,750<span></span>
</td>
<td class="nump">1,750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan2Member', window );">The 2022 Term Loan 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 2,896<span></span>
</td>
<td class="nump">2,813<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember', window );">Financed Insurance Premium [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 869<span></span>
</td>
<td class="nump">373<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_FreezerEquipmentLoanMember', window );">Freezer Equipment Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">5.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 537<span></span>
</td>
<td class="nump">612<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_ManufacturingEquipmentLoansMember', window );">Manufacturing Equipment Loans [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">5.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 311<span></span>
</td>
<td class="nump">355<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_FreezerInstallationLoanMember', window );">Freezer Installation Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">6.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 1,208<span></span>
</td>
<td class="nump">1,334<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=blfs_OtherLoansMember', window );">Other Loans [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt, carrying amount</a></td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">$ 9<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_The2022TermLoan2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_FinancedInsurancePremiumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_FreezerEquipmentLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_FreezerEquipmentLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_ManufacturingEquipmentLoansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_ManufacturingEquipmentLoansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_FreezerInstallationLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_FreezerInstallationLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=blfs_OtherLoansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=blfs_OtherLoansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912158579120">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Long-term Debt - Maturities of Loans Payable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">2022 (6 months remaining)</a></td>
<td class="nump">$ 759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">1,165<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">2,294<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">221<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_LongtermDebtMaturityAfterYearFour', window );">Thereafter</a></td>
<td class="nump">2,596<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total debt, excluding unamortized debt issuance costs</a></td>
<td class="nump">7,578<span></span>
</td>
<td class="nump">$ 7,246<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Less: unamortized debt issuance costs</a></td>
<td class="num">(27)<span></span>
</td>
<td class="num">(31)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt</a></td>
<td class="nump">$ 7,551<span></span>
</td>
<td class="nump">$ 7,215<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_LongtermDebtMaturityAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents amount of long-term debt maturity that takes place after year four.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_LongtermDebtMaturityAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912164203440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Warrants (Details Textual) - $ / shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 25, 2021</div></th>
<th class="th"><div>May 14, 2020</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>May 31, 2016</div></th>
<th class="th"><div>Mar. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 4.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod', window );">Class of Warrant or Right, Exercised During Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">(0)<span></span>
</td>
<td class="nump">79,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsToPurchaseCommonStockMember', window );">Warrants to Purchase Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,910,283<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.75<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsInConnectionWithWaviCreditFacilityMember', window );">Warrants in Connection with WAVI Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">550,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember', window );">WAVI Holding AG and Taurus4757 GmbH Warrants [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises', window );">Stock Issued During Period, Shares, Cashless Warrant Exercises (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,747,970<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod', window );">Class of Warrant or Right, Exercised During Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,871,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsExercisedMember', window );">Warrants Exercised [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises', window );">Stock Issued During Period, Shares, Cashless Warrant Exercises (in shares)</a></td>
<td class="nump">70,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod', window );">Class of Warrant or Right, Exercised During Period (in shares)</a></td>
<td class="nump">79,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of warrants or rights exercised during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ClassOfWarrantOrRightExercisedDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued during this period as cashless warrant exercise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsToPurchaseCommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsToPurchaseCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsInConnectionWithWaviCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsInConnectionWithWaviCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsExercisedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=blfs_WarrantsExercisedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155369440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Warrants - Summary of Warrant Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Beginning balance (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">79,100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Beginning balance (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 4.75<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod', window );">Exercised, number of shares (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(79,100)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice', window );">Exercised, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 4.75<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Ending balance (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Ending balance (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of warrants or rights exercised during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ClassOfWarrantOrRightExercisedDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share of warrants or rights exercised during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912167892848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Revenue (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Deferred Revenue, Revenue Recognized</a></td>
<td class="nump">$ 382,000<span></span>
</td>
<td class="nump">$ 456,000<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912161719184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Revenue - Revenues by Product Line (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 40,533<span></span>
</td>
<td class="nump">$ 31,204<span></span>
</td>
<td class="nump">$ 76,752<span></span>
</td>
<td class="nump">$ 48,051<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ProductFreezerAndThawMember', window );">Product, Freezer and Thaw [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">18,670<span></span>
</td>
<td class="nump">17,564<span></span>
</td>
<td class="nump">34,005<span></span>
</td>
<td class="nump">22,411<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ProductCellProcessingMember', window );">Product, Cell Processing [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">15,356<span></span>
</td>
<td class="nump">9,699<span></span>
</td>
<td class="nump">30,254<span></span>
</td>
<td class="nump">18,626<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesProductRevenueMember', window );">Storage and Storage Services Product Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">144<span></span>
</td>
<td class="nump">205<span></span>
</td>
<td class="nump">299<span></span>
</td>
<td class="nump">207<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesServiceRevenueMember', window );">Storage and Storage Services Service Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">3,698<span></span>
</td>
<td class="nump">1,963<span></span>
</td>
<td class="nump">6,787<span></span>
</td>
<td class="nump">4,167<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesRentalRevenueMember', window );">Storage and Storage Services Rental Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 2,665<span></span>
</td>
<td class="nump">$ 1,773<span></span>
</td>
<td class="nump">$ 5,407<span></span>
</td>
<td class="nump">$ 2,640<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_ProductFreezerAndThawMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_ProductFreezerAndThawMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_ProductCellProcessingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_ProductCellProcessingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesServiceRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesServiceRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesRentalRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_StorageAndStorageServicesRentalRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912165812288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 8,536<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 349<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_RentalRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_ServiceRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912161716176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 8,536<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 3,901<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">6 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 3,735<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember', window );">Rental Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 349<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 151<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">6 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember', window );">Service Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Service revenue, expected to be recognized in the future</a></td>
<td class="nump">$ 10<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Service revenue, expected to be recognized in the future, period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_RentalRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_RentalRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2022-07-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2022-07-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=blfs_ServiceRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=blfs_ServiceRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912158409904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 24, 2022</div></th>
<th class="th"><div>Feb. 08, 2021</div></th>
<th class="th"><div>Mar. 25, 2020</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,973,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,520,000<span></span>
</td>
<td class="nump">$ 11,372,000<span></span>
</td>
<td class="nump">$ 4,024,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">390,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">475,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,900,000<span></span>
</td>
<td class="nump">3,800,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | Management Performance Bonus Plan 2017 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,800,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,400,000<span></span>
</td>
<td class="nump">3,500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">883,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,800,000<span></span>
</td>
<td class="nump">4,600,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,000,000.0<span></span>
</td>
<td class="nump">5,200,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">372,069<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">282,317<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember', window );">Market-based Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">441,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,800,000<span></span>
</td>
<td class="nump">726,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">349,568<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value</a></td>
<td class="nump">$ 6,700,000<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period (in shares)</a></td>
<td class="nump">218,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">218,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate', window );">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Historical Volatility Rate</a></td>
<td class="nump">63.00%<span></span>
</td>
<td class="nump">68.00%<span></span>
</td>
<td class="nump">78.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod', window );">Share Based Compensation Arrangement By Share Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Period (Year)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Aggregate Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">261,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,700,000<span></span>
</td>
<td class="nump">1,800,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000.0<span></span>
</td>
<td class="nump">$ 10,200,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember', window );">Market-based Restricted Stock [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards', window );">Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Awards</a></td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember', window );">Market-based Restricted Stock [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards', window );">Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Awards</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember', window );">Market-based Restricted Stock [Member] | Executive Officer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)</a></td>
<td class="nump">240,428<span></span>
</td>
<td class="nump">30,616<span></span>
</td>
<td class="nump">109,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockSecondIssuanceMember', window );">Market-based Restricted Stock Second Issuance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents expected volatility rate period for share based payment award by share based payment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of non-vested equity-based payment instruments, excluding stock (or unit) options, vested.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents historical volatility for fair value assumptions for share-based payment award by share based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percent of shares that may be issued in accordance with the plan as a proportion of outstanding awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=blfs_ManagementPerformanceBonusPlan2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=blfs_ManagementPerformanceBonusPlan2017Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockSecondIssuanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockSecondIssuanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162900416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation - Stock Option Activity (Details) - Share-Based Payment Arrangement, Option [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding (in shares)</a></td>
<td class="nump">624,531<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 2.13<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="num">(154,504)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 1.95<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding as of June 30, 2022 (in shares)</a></td>
<td class="nump">470,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding as of June 30, 2022 (in dollars per share)</a></td>
<td class="nump">$ 2.19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Stock options exercisable as of June 30, 2022 (in shares)</a></td>
<td class="nump">470,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 2.19<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912158595120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation - Restricted Stock Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 24, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,212,783<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37.48<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">372,069<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23.72<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(282,317)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 34.65<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(55,802)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Non-vested as of June 30, 2022 (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,246,733<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non-vested as of June 30, 2022 (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33.65<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember', window );">Market-based Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22.66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(218,280)<span></span>
</td>
<td class="num">(218,280)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.95<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">139,756<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at beginning of year, grant date fair value (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19.86<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">349,568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Non-vested as of June 30, 2022 (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">271,044<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non-vested as of June 30, 2022 (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30.64<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=blfs_MarketbasedRestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162047568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Share-based Compensation - Stock Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock compensation expense</a></td>
<td class="nump">$ 5,973<span></span>
</td>
<td class="nump">$ 2,520<span></span>
</td>
<td class="nump">$ 11,372<span></span>
</td>
<td class="nump">$ 4,024<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and Development Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock compensation expense</a></td>
<td class="nump">714<span></span>
</td>
<td class="nump">437<span></span>
</td>
<td class="nump">1,391<span></span>
</td>
<td class="nump">620<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Selling and Marketing Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock compensation expense</a></td>
<td class="nump">738<span></span>
</td>
<td class="nump">269<span></span>
</td>
<td class="nump">1,443<span></span>
</td>
<td class="nump">453<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and Administrative Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock compensation expense</a></td>
<td class="nump">3,719<span></span>
</td>
<td class="nump">1,667<span></span>
</td>
<td class="nump">6,729<span></span>
</td>
<td class="nump">2,646<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock compensation expense</a></td>
<td class="nump">$ 802<span></span>
</td>
<td class="nump">$ 147<span></span>
</td>
<td class="nump">$ 1,809<span></span>
</td>
<td class="nump">$ 305<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155335776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Acquisitions (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 01, 2021</div></th>
<th class="th"><div>May 03, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 224,741,000<span></span>
</td>
<td class="nump">$ 224,741,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)</a></td>
<td class="nump">530,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims', window );">Business Acquisition, Percentage of Equity Issuable Shares Held in Escrow Accounts for Post Closing Claims</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss', window );">Business Combination, Step Acquisition, Equity Interest in Acquiree, Remeasurement Gain (Loss), Net, Total</a></td>
<td class="nump">$ 6,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables', window );">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Gross Receivables</a></td>
<td class="nump">509,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables', window );">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Uncollectable Receivables</a></td>
<td class="nump">17,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod', window );">Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustments Related to Previous Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">198,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="nump">$ 28,470,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Common Stock Issued to Acquire Participating Holders [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)</a></td>
<td class="nump">477,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Common Stock Deposited Into Escrow [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)</a></td>
<td class="nump">53,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,636,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims', window );">Business Acquisition, Percentage of Equity Issuable Shares Held in Escrow Accounts for Post Closing Claims</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables', window );">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Gross Receivables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables', window );">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Uncollectable Receivables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod', window );">Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustments Related to Previous Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 607,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 137,822,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares, Before Adjustments (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,646,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable', window );">Business Combination, Stock Reduced During Period, Satisfy Note Receivable (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationEscrowSharesPeriod', window );">Business Combination, Escrow Shares, Period (Month)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">24 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment of Intangible Assets, Indefinite-Lived (Excluding Goodwill)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,900,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsFinitelived', window );">Impairment of Intangible Assets, Finite-Lived</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,000,000.0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | One GCI Stockholder [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable', window );">Business Combination, Stock Reduced During Period, Satisfy Note Receivable (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Financing Receivable, after Allowance for Credit Loss, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 374,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity before adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of equity issuable shares held in escrow accounts for post-closing indemnification claims.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationEscrowSharesPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The period the shares are to be held in escrow in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationEscrowSharesPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Uncollectable amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reduced during the period to satisfy an outstanding note receivable in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in income that would have been recognized in previous periods if the adjustments to provisional amounts were recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=SL65897772-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>In a business combination achieved in stages, this element represents the amount of net gain (loss) recognized by the entity as a result of remeasuring to fair value the equity interest in the acquiree it held before the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsFinitelived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsFinitelived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityInterestIssuedOrIssuableByTypeAxis=blfs_CommonStockIssuedToAcquireParticipatingHoldersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityInterestIssuedOrIssuableByTypeAxis=blfs_CommonStockIssuedToAcquireParticipatingHoldersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityInterestIssuedOrIssuableByTypeAxis=blfs_CommonStockDepositedIntoEscrowMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityInterestIssuedOrIssuableByTypeAxis=blfs_CommonStockDepositedIntoEscrowMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=blfs_OneGCIStockholderMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=blfs_OneGCIStockholderMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912161909040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Acquisitions - Consideration (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 01, 2021</div></th>
<th class="th"><div>May 03, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharePrice', window );">BioLife stock price (in dollars per share)</a></td>
<td class="nump">$ 60.50<span></span>
</td>
<td class="nump">$ 35.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of issued shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 232,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">BioLife shares outstanding (as of March 19, 2021) (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,401,359<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Merger consideration shares (in shares)</a></td>
<td class="nump">530,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of issued shares</a></td>
<td class="nump">$ 32,095<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1', window );">plus: Fair value of BioLife&#8217;s existing investment in Sexton</a></td>
<td class="nump">7,951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment', window );">less: Net working capital adjustment</a></td>
<td class="num">(118)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Merger Consideration</a></td>
<td class="nump">$ 39,928<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Merger consideration shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,636,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of issued shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 232,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Merger Consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 234,909<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage', window );">Merger consideration percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments', window );">Merger consideration shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,646,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable', window );">less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits', window );">plus: Settlement of BioLife prepaid deposits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,152<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable', window );">plus: Net settlement of BioLife accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity before adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of shares outstanding of equity interests of the acquirer to be issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlement of account receivable of the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlement of prepaid deposits incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of working capital adjustment associated with the acquisition of business during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reduced during the period to satisfy an outstanding note receivable in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value at acquisition-date of the equity interest in the acquiree held by the acquirer, immediately before the acquisition date for businesses combined in stages.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155209152">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 01, 2021</div></th>
<th class="th"><div>May 03, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 224,741<span></span>
</td>
<td class="nump">$ 224,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">492<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">670<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant and equipment, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets', window );">Operating lease right-of-use assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(291)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease liabilities, operating</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(470)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,482)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(316)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,928<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,276<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,076<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,547<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">639<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant and equipment, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,512<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets', window );">Operating lease right-of-use assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">137,822<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,837)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease liabilities, operating</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,880)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24,133)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,464)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">234,909<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,547<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets', window );">Financing lease right-of-use assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets', window );">Long-term deposits and other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,231)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation', window );">Lease liabilities, financing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(114)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,410)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Indefinite In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets', window );">In-process research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,440<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,140<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,020<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,640<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,240<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of finance lease obligation assumed in business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease obligation assumed in business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of finance lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of line of credit assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deposits and other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=blfs_IndefiniteInProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=blfs_IndefiniteInProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912158229056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 15 - Acquisitions - Acquired Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 01, 2021</div></th>
<th class="th"><div>May 03, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Total identifiable intangible assets</a></td>
<td class="nump">$ 8,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="nump">$ 4,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Developed Technology Rights [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Developed Technology Rights [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="nump">$ 2,276<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="nump">$ 2,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">11 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="nump">$ 90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Total identifiable intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 120,480<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Indefinite In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets', window );">In-process research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,440<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,140<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,640<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,240<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Intangible assets, estimated useful life (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=blfs_IndefiniteInProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=blfs_IndefiniteInProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162178848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Acquisitions - Pro Forma Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember', window );">Sexton Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Total revenue</a></td>
<td class="nump">$ 32,810<span></span>
</td>
<td class="nump">$ 50,665<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">7,085<span></span>
</td>
<td class="nump">5,162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember', window );">GCI Acquisition [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Total revenue</a></td>
<td class="nump">51,035<span></span>
</td>
<td class="nump">85,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income (loss)</a></td>
<td class="num">$ (4,141)<span></span>
</td>
<td class="num">$ (6,095)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_SextonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=blfs_GCIAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912163637392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Income Taxes (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income Tax Expense (Benefit), Total</a></td>
<td class="num">$ (3,739,000)<span></span>
</td>
<td class="num">$ (12,552,000)<span></span>
</td>
<td class="num">$ (4,338,000)<span></span>
</td>
<td class="num">$ (12,552,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective Income Tax Rate Reconciliation, Percent, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_DiscreteTaxBenefit', window );">Discrete Tax Benefit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 235,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent', window );">Effective Income Tax Rate Reconciliation, Before Discrete Items, Percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Deferred Tax Assets, Valuation Allowance</a></td>
<td class="nump">$ 21,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_DiscreteTaxBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of discrete tax benefit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_DiscreteTaxBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations before discrete items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912155403856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (72,554)<span></span>
</td>
<td class="nump">$ 7,876<span></span>
</td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation', window );">Amount attributable to unvested restricted shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding', window );">Amount attributable to warrants outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(215)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(208)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net (loss) income allocated to common shareholders</a></td>
<td class="num">$ (72,554)<span></span>
</td>
<td class="nump">$ 7,661<span></span>
</td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,543<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">42,460,189<span></span>
</td>
<td class="nump">38,072,712<span></span>
</td>
<td class="nump">42,238,355<span></span>
</td>
<td class="nump">35,668,124<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (1.71)<span></span>
</td>
<td class="nump">$ 0.20<span></span>
</td>
<td class="num">$ (1.89)<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation', window );">Amount attributable to unvested restricted shares</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (208)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (200)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_blfs_WarrantsIncomeStatementImpact', window );">Amount attributable to warrants</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1', window );">Less: gain related to change in fair value of warrants</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Diluted (loss) earnings per common share</a></td>
<td class="num">$ (72,554)<span></span>
</td>
<td class="nump">$ 7,668<span></span>
</td>
<td class="num">$ (79,620)<span></span>
</td>
<td class="nump">$ 6,551<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants', window );">Warrants (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">36,709<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average shares issued and outstanding (in shares)</a></td>
<td class="nump">42,460,189<span></span>
</td>
<td class="nump">40,390,098<span></span>
</td>
<td class="nump">42,238,355<span></span>
</td>
<td class="nump">38,275,603<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (1.71)<span></span>
</td>
<td class="nump">$ 0.19<span></span>
</td>
<td class="num">$ (1.89)<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Share-Based Payment Arrangements (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,249,810<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,436,767<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Share-Based Payment Arrangements (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,067,576<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,134,003<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the basic earnings (loss) per share or per unit calculation under the two-class method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings (loss) allocated to participating securities of warrants outstanding for the basic earnings (loss) per share or per unit calculation under the two-class method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the diluted earnings (loss) per share or per unit calculation under the two-class method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_blfs_WarrantsIncomeStatementImpact">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of warrants that is an adjustment to net income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">blfs_WarrantsIncomeStatementImpact</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>blfs_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1828-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126962052&amp;loc=d3e4991-113900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1500-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in equity for down round feature triggered for warrant classified as equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL109261905-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912169053056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities (in shares)</a></td>
<td class="nump">1,942,812<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,767,841<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember', window );">Share-based Payment Arrangement, Option and Restricted Stock Awards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities (in shares)</a></td>
<td class="nump">1,942,812<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,767,841<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139912162916208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Employee Benefit Plan (Details Textual) - Defined Contribution Plan, 401 K [Member] - Pension Plan [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent', window );">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 301,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 216,000<span></span>
</td>
<td class="nump">$ 527,000<span></span>
</td>
<td class="nump">$ 350,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanNameAxis=blfs_DefinedContributionPlan401KMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanNameAxis=blfs_DefinedContributionPlan401KMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>bioli20220630_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:blfs="http://www.biolifesolutions.com/20220630"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:thunderdome="http://www.RDGFilings.com"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="blfs-20220630.xsd" xlink:type="simple"/>
    <context id="d_2022-01-01_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-08-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2022-08-01</instant>
        </period>
    </context>
    <context id="i_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i_2021-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i_2021-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i_2021-03-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i_2021-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:EquipmentLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:EquipmentLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">blfs:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:GeographicOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">blfs:AllLocationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-10</instant>
        </period>
    </context>
    <context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-10</instant>
        </period>
    </context>
    <context id="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-10</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:CBSAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-01</instant>
        </period>
    </context>
    <context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-01</instant>
        </period>
    </context>
    <context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputAssetPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-01</instant>
        </period>
    </context>
    <context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-01</instant>
        </period>
    </context>
    <context id="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-01</instant>
        </period>
    </context>
    <context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputAssetPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">blfs:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-06_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-06</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SciSafeHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:CorporateDebtSecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">blfs:NonUSGovernmentAgencySecuritiesCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:ContingentConsiderationLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">blfs:WarrantLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ContingentConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">blfs:SeriesA1AndA2PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ContingentConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:RealEstateLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:RealEstateLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:LeaseExtensionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">blfs:LeaseExtensionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">blfs:FurnitureAndComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">blfs:FurnitureAndComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_RangeAxis-WeightedAverageMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-AbandonedInProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:AbandonedInProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">blfs:InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:The2022TermLoan2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-FinancedInsurancePremiumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FinancedInsurancePremiumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerEquipmentLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-FreezerEquipmentLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerEquipmentLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:ManufacturingEquipmentLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-ManufacturingEquipmentLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:ManufacturingEquipmentLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerInstallationLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-FreezerInstallationLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:FreezerInstallationLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-OtherLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:OtherLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DebtInstrumentAxis-OtherLoansMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">blfs:OtherLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsToPurchaseCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-03-31</instant>
        </period>
    </context>
    <context id="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsInConnectionWithWaviCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-05-31</instant>
        </period>
    </context>
    <context id="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WaviHoldingAgAndTaurus4757GmbhWarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-14</startDate>
            <endDate>2020-05-14</endDate>
        </period>
    </context>
    <context id="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">blfs:WarrantsExercisedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-25</startDate>
            <endDate>2021-03-25</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductFreezerAndThawMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ProductCellProcessingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:StorageAndStorageServicesRentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:RentalRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">blfs:ServiceRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">blfs:ManagementPerformanceBonusPlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-25</startDate>
            <endDate>2020-03-25</endDate>
        </period>
    </context>
    <context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-25</startDate>
            <endDate>2020-03-25</endDate>
        </period>
    </context>
    <context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-24</startDate>
            <endDate>2022-02-24</endDate>
        </period>
    </context>
    <context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-25</startDate>
            <endDate>2020-03-25</endDate>
        </period>
    </context>
    <context id="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockSecondIssuanceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockSecondIssuanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-25</startDate>
            <endDate>2020-03-25</endDate>
        </period>
    </context>
    <context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-08</startDate>
            <endDate>2021-02-08</endDate>
        </period>
    </context>
    <context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-08</startDate>
            <endDate>2021-02-08</endDate>
        </period>
    </context>
    <context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-08</startDate>
            <endDate>2021-02-08</endDate>
        </period>
    </context>
    <context id="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-08</startDate>
            <endDate>2021-02-08</endDate>
        </period>
    </context>
    <context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-24</startDate>
            <endDate>2022-02-24</endDate>
        </period>
    </context>
    <context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-24</startDate>
            <endDate>2022-02-24</endDate>
        </period>
    </context>
    <context id="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-24</startDate>
            <endDate>2022-02-24</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">blfs:MarketbasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockIssuedToAcquireParticipatingHoldersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EquityInterestIssuedOrIssuableByTypeAxis">blfs:CommonStockIssuedToAcquireParticipatingHoldersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockDepositedIntoEscrowMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EquityInterestIssuedOrIssuableByTypeAxis">blfs:CommonStockDepositedIntoEscrowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="i_2021-09-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-SextonAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">blfs:OneGCIStockholderMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">blfs:OneGCIStockholderMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">blfs:IndefiniteInProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-03</instant>
        </period>
    </context>
    <context id="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-03</startDate>
            <endDate>2021-05-03</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:GCIAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">blfs:SextonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">blfs:SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000834365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">blfs:DefinedContributionPlan401KMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <unit id="Share">
        <measure>shares</measure>
    </unit>
    <unit id="NonApplicable">
        <measure>thunderdome:item</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="USDPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Year">
        <measure>utr:Y</measure>
    </unit>
    <unit id="Month">
        <measure>utr:M</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="d_2022-01-01_2022-06-30"
      id="thunderdome-EntityCentralIndexKey">0000834365</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName
      contextRef="d_2022-01-01_2022-06-30"
      id="thunderdome-EntityRegistrantName">BIOLIFE SOLUTIONS INC</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="d_2022-01-01_2022-06-30">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="d_2022-01-01_2022-06-30">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2022-01-01_2022-06-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="d_2022-01-01_2022-06-30">2022</dei:DocumentFiscalYearFocus>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200262"
      unitRef="USD">458000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200263"
      unitRef="USD">275000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2022-06-30"
      id="c86200325"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2021-12-31"
      id="c86200326"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200330"
      unitRef="USDPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200331"
      unitRef="USDPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200332"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200333"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <blfs:PreferredStockSharesDesignated
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="INF"
      id="c86200334"
      unitRef="Share">4250</blfs:PreferredStockSharesDesignated>
    <blfs:PreferredStockSharesDesignated
      contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="INF"
      id="c86200335"
      unitRef="Share">4250</blfs:PreferredStockSharesDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="-3"
      id="c86200336"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="-3"
      id="c86200338"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="-3"
      id="c86200337"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember"
      decimals="-3"
      id="c86200339"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200342"
      unitRef="USDPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200343"
      unitRef="USDPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200344"
      unitRef="Share">150000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200345"
      unitRef="Share">150000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200346"
      unitRef="Share">42536734</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86200348"
      unitRef="Share">42536734</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200347"
      unitRef="Share">41817503</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86200349"
      unitRef="Share">41817503</us-gaap:CommonStockSharesOutstanding>
    <blfs:BusinessCombinationContingentConsiderationStockIssued
      contextRef="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="INF"
      id="c86203929"
      unitRef="Share">64130</blfs:BusinessCombinationContingentConsiderationStockIssued>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MinimumMember"
      id="c86201240">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i_2022-06-30_LeaseContractualTermAxis-RealEstateLeasemember_RangeAxis-MaximumMember"
      id="c86201241">P10Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MinimumMember"
      id="c86201246">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2022-06-30_LeaseContractualTermAxis-LeaseExtensionsMember_RangeAxis-MaximumMember"
      id="c86201247">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"
      id="c86203881">P0Y6M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      id="c86203883">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      id="c86203885">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"
      id="c86203888">P0Y6M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      id="c86203890">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      id="c86203892">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c86201627"
      unitRef="USD">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"
      decimals="-3"
      id="c86201650"
      unitRef="USD">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201745"
      unitRef="USD">0</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201753"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201757"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <dei:DocumentType contextRef="d_2022-01-01_2022-06-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="d_2022-01-01_2022-06-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="d_2022-01-01_2022-06-30">2022-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2022-01-01_2022-06-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2022-01-01_2022-06-30">001-36362</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2022-01-01_2022-06-30">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2022-01-01_2022-06-30">94-3076866</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2022-01-01_2022-06-30">3303 Monte Villa&#160;Parkway, SUITE 310</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2022-01-01_2022-06-30">Bothell</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2022-01-01_2022-06-30">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2022-01-01_2022-06-30">98021</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2022-01-01_2022-06-30">425</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2022-01-01_2022-06-30">402-1400</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2022-01-01_2022-06-30">BioLife Solutions, Inc. Common Shares</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2022-01-01_2022-06-30">BLFS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2022-01-01_2022-06-30">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="d_2022-01-01_2022-06-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2022-01-01_2022-06-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2022-01-01_2022-06-30">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2022-01-01_2022-06-30">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2022-01-01_2022-06-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="d_2022-01-01_2022-06-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="i_2022-08-01" decimals="INF" unitRef="Share">42605036</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200256"
      unitRef="USD">24001000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200257"
      unitRef="USD">69860000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200258"
      unitRef="USD">28000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200259"
      unitRef="USD">10000</us-gaap:RestrictedCashCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86202142"
      unitRef="USD">22546000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86202143"
      unitRef="USD">0</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200260"
      unitRef="USD">31257000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200261"
      unitRef="USD">23217000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200266"
      unitRef="USD">33335000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200267"
      unitRef="USD">28345000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86200268"
      unitRef="USD">6890000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200269"
      unitRef="USD">4427000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200270"
      unitRef="USD">118057000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200271"
      unitRef="USD">125859000</us-gaap:AssetsCurrent>
    <blfs:AssetsHeldForRentNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200272"
      unitRef="USD">9083000</blfs:AssetsHeldForRentNoncurrent>
    <blfs:AssetsHeldForRentNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200273"
      unitRef="USD">9809000</blfs:AssetsHeldForRentNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200274"
      unitRef="USD">19117000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200275"
      unitRef="USD">17657000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200276"
      unitRef="USD">17306000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200277"
      unitRef="USD">18705000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200278"
      unitRef="USD">367000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200279"
      unitRef="USD">440000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200280"
      unitRef="USD">323000</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200281"
      unitRef="USD">325000</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200282"
      unitRef="USD">489000</us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200283"
      unitRef="USD">0</us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent>
    <blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200284"
      unitRef="USD">4372000</blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities>
    <blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200285"
      unitRef="USD">4372000</blfs:InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200286"
      unitRef="USD">76524000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200287"
      unitRef="USD">152149000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200288"
      unitRef="USD">224741000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200289"
      unitRef="USD">224741000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200290"
      unitRef="USD">470379000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200291"
      unitRef="USD">554057000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200294"
      unitRef="USD">11537000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200295"
      unitRef="USD">14945000</us-gaap:AccountsPayableCurrent>
    <blfs:AccruedExpensesAndOtherCurrentLiabilities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200296"
      unitRef="USD">7187000</blfs:AccruedExpensesAndOtherCurrentLiabilities>
    <blfs:AccruedExpensesAndOtherCurrentLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200297"
      unitRef="USD">7142000</blfs:AccruedExpensesAndOtherCurrentLiabilities>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200298"
      unitRef="USD">8722000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200299"
      unitRef="USD">9398000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200300"
      unitRef="USD">2733000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200301"
      unitRef="USD">2758000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200302"
      unitRef="USD">153000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200303"
      unitRef="USD">149000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200304"
      unitRef="USD">1363000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200305"
      unitRef="USD">862000</us-gaap:LongTermDebtCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200306"
      unitRef="USD">1603000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200307"
      unitRef="USD">5127000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200308"
      unitRef="USD">33298000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200309"
      unitRef="USD">40381000</us-gaap:LiabilitiesCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200310"
      unitRef="USD">1912000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="i_2021-12-31"
      decimals="-5"
      id="c86200311"
      unitRef="USD">4900000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200312"
      unitRef="USD">15205000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200313"
      unitRef="USD">16466000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200314"
      unitRef="USD">213000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200315"
      unitRef="USD">291000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200316"
      unitRef="USD">6188000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200317"
      unitRef="USD">6353000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200318"
      unitRef="USD">1149000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200319"
      unitRef="USD">5487000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200320"
      unitRef="USD">101000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200321"
      unitRef="USD">42000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200322"
      unitRef="USD">58066000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200323"
      unitRef="USD">73920000</us-gaap:Liabilities>
    <us-gaap:PreferredStockValue
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200328"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200329"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200340"
      unitRef="USD">43000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200341"
      unitRef="USD">42000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86200350"
      unitRef="USD">597810000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200351"
      unitRef="USD">585397000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2022-06-30"
      decimals="-5"
      id="c86200352"
      unitRef="USD">-900000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200353"
      unitRef="USD">-282000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86200354"
      unitRef="USD">-184640000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200355"
      unitRef="USD">-105020000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200356"
      unitRef="USD">412313000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200357"
      unitRef="USD">480137000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200358"
      unitRef="USD">470379000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200359"
      unitRef="USD">554057000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-4"
      id="c86200360"
      unitRef="USD">34170000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200361"
      unitRef="USD">27468000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200362"
      unitRef="USD">64558000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200363"
      unitRef="USD">41244000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200364"
      unitRef="USD">3698000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200365"
      unitRef="USD">1963000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200366"
      unitRef="USD">6787000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200367"
      unitRef="USD">4167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200368"
      unitRef="USD">2665000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200369"
      unitRef="USD">1773000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200370"
      unitRef="USD">5407000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-4"
      id="c86200371"
      unitRef="USD">2640000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200372"
      unitRef="USD">40533000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200373"
      unitRef="USD">31204000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200374"
      unitRef="USD">76752000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200375"
      unitRef="USD">48051000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200377"
      unitRef="USD">21561000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200378"
      unitRef="USD">15986000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200379"
      unitRef="USD">41501000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductMember"
      decimals="-3"
      id="c86200380"
      unitRef="USD">21609000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200381"
      unitRef="USD">2968000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200382"
      unitRef="USD">1427000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200383"
      unitRef="USD">5557000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86200384"
      unitRef="USD">2779000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200385"
      unitRef="USD">1665000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200386"
      unitRef="USD">1141000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200387"
      unitRef="USD">3582000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86200388"
      unitRef="USD">1716000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200389"
      unitRef="USD">11351000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200390"
      unitRef="USD">7146000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200391"
      unitRef="USD">22546000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200392"
      unitRef="USD">11974000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200393"
      unitRef="USD">5415000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200394"
      unitRef="USD">3142000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200395"
      unitRef="USD">10306000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200396"
      unitRef="USD">5164000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200397"
      unitRef="USD">3428000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200398"
      unitRef="USD">3045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200399"
      unitRef="USD">7209000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200400"
      unitRef="USD">5032000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c86200401"
      unitRef="USD">69900000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200402"
      unitRef="USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86200403"
      unitRef="USD">69900000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200404"
      unitRef="USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200405"
      unitRef="USD">2863000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200406"
      unitRef="USD">1882000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200407"
      unitRef="USD">5725000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200408"
      unitRef="USD">2815000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200409"
      unitRef="USD">5000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200410"
      unitRef="USD">272000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200411"
      unitRef="USD">16000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200412"
      unitRef="USD">1271000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200413"
      unitRef="USD">-2361000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200414"
      unitRef="USD">1718000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200415"
      unitRef="USD">-5695000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200416"
      unitRef="USD">1226000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:CostsAndExpenses
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200417"
      unitRef="USD">116795000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200418"
      unitRef="USD">35759000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200419"
      unitRef="USD">160647000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200420"
      unitRef="USD">53586000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200421"
      unitRef="USD">-76262000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200422"
      unitRef="USD">-4555000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200423"
      unitRef="USD">-83895000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200424"
      unitRef="USD">-5535000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200426"
      unitRef="USD">-9000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200427"
      unitRef="USD">-121000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200428"
      unitRef="USD">-173000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200429"
      unitRef="USD">-137000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200430"
      unitRef="USD">-22000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200431"
      unitRef="USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200432"
      unitRef="USD">110000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200433"
      unitRef="USD">-1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200434"
      unitRef="USD">-0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200435"
      unitRef="USD">-0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200436"
      unitRef="USD">-0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200437"
      unitRef="USD">121000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200438"
      unitRef="USD">-31000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200439"
      unitRef="USD">-121000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200440"
      unitRef="USD">-63000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200441"
      unitRef="USD">-259000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200442"
      unitRef="USD">-76293000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200443"
      unitRef="USD">-4676000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200444"
      unitRef="USD">-83958000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200445"
      unitRef="USD">-5794000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200446"
      unitRef="USD">-3739000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200447"
      unitRef="USD">-12552000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200448"
      unitRef="USD">-4338000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200449"
      unitRef="USD">-12552000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200450"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200451"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200452"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200453"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200455"
      unitRef="USD">-72554000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200456"
      unitRef="USD">7661000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200457"
      unitRef="USD">-79620000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200458"
      unitRef="USD">6543000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200459"
      unitRef="USD">-72554000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200460"
      unitRef="USD">7668000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200461"
      unitRef="USD">-79620000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200462"
      unitRef="USD">6551000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86200464"
      unitRef="USDPerShare">-1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86200465"
      unitRef="USDPerShare">0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86200466"
      unitRef="USDPerShare">-1.89</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86200467"
      unitRef="USDPerShare">0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86200468"
      unitRef="USDPerShare">-1.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86200469"
      unitRef="USDPerShare">0.19</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86200470"
      unitRef="USDPerShare">-1.89</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86200471"
      unitRef="USDPerShare">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86200473"
      unitRef="Share">42460189</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86200474"
      unitRef="Share">38072712</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86200475"
      unitRef="Share">42238355</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86200476"
      unitRef="Share">35668124</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86200477"
      unitRef="Share">42460189</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86200478"
      unitRef="Share">40390098</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86200479"
      unitRef="Share">42238355</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86200480"
      unitRef="Share">38275603</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200481"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200482"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200483"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200484"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200486"
      unitRef="USD">-422000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200487"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200488"
      unitRef="USD">-578000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200489"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-4"
      id="c86200490"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200491"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200492"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200493"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200494"
      unitRef="USD">-73016000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200495"
      unitRef="USD">7879000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200496"
      unitRef="USD">-80238000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200497"
      unitRef="USD">6761000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200498"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200499"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200500"
      unitRef="Share">41817503</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200501"
      unitRef="USD">42000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200502"
      unitRef="USD">585397000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200503"
      unitRef="USD">-282000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-4"
      id="c86200504"
      unitRef="USD">-105020000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86200505"
      unitRef="USD">480137000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200507"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200509"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200510"
      unitRef="USD">76000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200511"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200512"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200513"
      unitRef="USD">76000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200515"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200517"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200518"
      unitRef="USD">11372000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200519"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200520"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200521"
      unitRef="USD">11372000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200522"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200523"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200524"
      unitRef="Share">154504</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200525"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200526"
      unitRef="USD">301000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200527"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200528"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200529"
      unitRef="USD">301000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200530"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200531"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200532"
      unitRef="Share">500597</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200533"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200534"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200535"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200536"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200537"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <blfs:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200538"
      unitRef="Share">0</blfs:StockIssuedDuringPeriodSharesContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200539"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200540"
      unitRef="Share">64130</blfs:StockIssuedDuringPeriodSharesContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200541"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200542"
      unitRef="USD">816000</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200543"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200544"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200545"
      unitRef="USD">816000</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200547"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200549"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200550"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200551"
      unitRef="USD">-578000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200552"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200553"
      unitRef="USD">-578000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200555"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200557"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200558"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-4"
      id="c86200559"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200560"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200561"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200563"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200565"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200566"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200567"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-4"
      id="c86200568"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200569"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200570"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200571"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200572"
      unitRef="Share">42536734</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200573"
      unitRef="USD">43000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-4"
      id="c86200574"
      unitRef="USD">597810000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-5"
      id="c86200575"
      unitRef="USD">-900000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-4"
      id="c86200576"
      unitRef="USD">-184640000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200577"
      unitRef="USD">412313000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200578"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200579"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200580"
      unitRef="Share">42331082</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200581"
      unitRef="USD">42000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200582"
      unitRef="USD">591002000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200583"
      unitRef="USD">-438000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200584"
      unitRef="USD">-112086000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31"
      decimals="-4"
      id="c86200585"
      unitRef="USD">478520000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200587"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200589"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200590"
      unitRef="USD">24000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200591"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200592"
      unitRef="USD">-0</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200593"
      unitRef="USD">24000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200595"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200597"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200598"
      unitRef="USD">5973000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200599"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200600"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200601"
      unitRef="USD">5973000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200602"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200603"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200604"
      unitRef="Share">24571</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200605"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200606"
      unitRef="USD">43000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200607"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200608"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200609"
      unitRef="USD">43000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200610"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200611"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200612"
      unitRef="Share">116951</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200613"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200614"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200615"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200616"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200617"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <blfs:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200618"
      unitRef="Share">0</blfs:StockIssuedDuringPeriodSharesContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200619"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200620"
      unitRef="Share">64130</blfs:StockIssuedDuringPeriodSharesContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200621"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200622"
      unitRef="USD">816000</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200623"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200624"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <blfs:StockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200625"
      unitRef="USD">816000</blfs:StockIssuedDuringPeriodValueContingentConsideration>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200627"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200629"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200630"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200631"
      unitRef="USD">-422000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200632"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200633"
      unitRef="USD">-422000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200635"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200637"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200638"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-4"
      id="c86200639"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200640"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-4"
      id="c86200641"
      unitRef="USD">-40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200643"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200645"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200646"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200647"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200648"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86200649"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200651"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200652"
      unitRef="Share">42536734</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200653"
      unitRef="USD">43000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-4"
      id="c86200654"
      unitRef="USD">597810000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-5"
      id="c86200655"
      unitRef="USD">-900000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-4"
      id="c86200656"
      unitRef="USD">-184640000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200657"
      unitRef="USD">412313000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200658"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200659"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200660"
      unitRef="Share">33039146</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200661"
      unitRef="USD">33000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200662"
      unitRef="USD">302598000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200663"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200664"
      unitRef="USD">-97385000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c86200665"
      unitRef="USD">205246000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200666"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200667"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200668"
      unitRef="Share">6636470</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200669"
      unitRef="USD">7000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200670"
      unitRef="USD">232734000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200671"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200672"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86200673"
      unitRef="USD">232741000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200675"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200677"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200678"
      unitRef="USD">4024000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200679"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200680"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200681"
      unitRef="USD">4024000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200682"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200683"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200684"
      unitRef="Share">387759</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200685"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200686"
      unitRef="USD">607000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200687"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200688"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200689"
      unitRef="USD">608000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200690"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200691"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200692"
      unitRef="Share">427315</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200693"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200694"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200695"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200696"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200697"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200698"
      unitRef="Share">0</blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200699"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200700"
      unitRef="Share">70030</blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200701"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200702"
      unitRef="USD">2901000</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200703"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200704"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200705"
      unitRef="USD">2901000</blfs:StockIssuedDuringPeriodValueCashlessWarrantExercises>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200715"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200717"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200718"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200719"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200720"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200721"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200723"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200725"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200726"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200727"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200728"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200729"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200730"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200731"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200732"
      unitRef="Share">40560720</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200733"
      unitRef="USD">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200734"
      unitRef="USD">542864000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200735"
      unitRef="USD">3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200736"
      unitRef="USD">-90627000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86200737"
      unitRef="USD">452281000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200738"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200739"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200740"
      unitRef="Share">33634194</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200741"
      unitRef="USD">34000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200742"
      unitRef="USD">307246000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200743"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200744"
      unitRef="USD">-98503000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-03-31"
      decimals="-3"
      id="c86200745"
      unitRef="USD">208777000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200746"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200747"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200748"
      unitRef="Share">6636470</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200749"
      unitRef="USD">7000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200750"
      unitRef="USD">232734000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200751"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200752"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86200753"
      unitRef="USD">232741000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200755"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200757"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-4"
      id="c86200758"
      unitRef="USD">2520000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200759"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200760"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-4"
      id="c86200761"
      unitRef="USD">2520000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200762"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200763"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200764"
      unitRef="Share">224894</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200765"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200766"
      unitRef="USD">364000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200767"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200768"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200769"
      unitRef="USD">364000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200770"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200771"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200772"
      unitRef="Share">65162</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200773"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200774"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200775"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200776"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200777"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200779"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200781"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200782"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200783"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200784"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200785"
      unitRef="USD">3000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200787"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200789"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200790"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200791"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200792"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86200793"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="INF"
      id="c86200794"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c86200795"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c86200796"
      unitRef="Share">40560720</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c86200797"
      unitRef="USD">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c86200798"
      unitRef="USD">542864000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c86200799"
      unitRef="USD">3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c86200800"
      unitRef="USD">-90627000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86200801"
      unitRef="USD">452281000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200803"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200804"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86200806"
      unitRef="USD">69900000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200807"
      unitRef="USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200808"
      unitRef="USD">11372000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200809"
      unitRef="USD">4024000</us-gaap:ShareBasedCompensation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200810"
      unitRef="USD">5725000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200811"
      unitRef="USD">2815000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200812"
      unitRef="USD">3257000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200813"
      unitRef="USD">1895000</us-gaap:DepreciationDepletionAndAmortization>
    <blfs:NoncashLeaseExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200814"
      unitRef="USD">1308000</blfs:NoncashLeaseExpense>
    <blfs:NoncashLeaseExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200815"
      unitRef="USD">1047000</blfs:NoncashLeaseExpense>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200816"
      unitRef="USD">0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200817"
      unitRef="USD">121000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200818"
      unitRef="USD">-35000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200819"
      unitRef="USD">-0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <blfs:GainLossOnDispositionOfAssetsHeldForRent
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200820"
      unitRef="USD">264000</blfs:GainLossOnDispositionOfAssetsHeldForRent>
    <blfs:GainLossOnDispositionOfAssetsHeldForRent
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200821"
      unitRef="USD">-102000</blfs:GainLossOnDispositionOfAssetsHeldForRent>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200822"
      unitRef="USD">-4338000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200823"
      unitRef="USD">-12552000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200824"
      unitRef="USD">-5695000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200825"
      unitRef="USD">1226000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86200826"
      unitRef="USD">200000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200827"
      unitRef="USD">175000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200829"
      unitRef="USD">8128000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200830"
      unitRef="USD">8494000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200831"
      unitRef="USD">4990000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200832"
      unitRef="USD">-1283000</us-gaap:IncreaseDecreaseInInventories>
    <blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200833"
      unitRef="USD">1492000</blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits>
    <blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200834"
      unitRef="USD">-2370000</blfs:IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200835"
      unitRef="USD">-3402000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200836"
      unitRef="USD">-2790000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200837"
      unitRef="USD">-1033000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200838"
      unitRef="USD">-681000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <blfs:IncreaseDecreaseInWarrantyLiability
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200839"
      unitRef="USD">-676000</blfs:IncreaseDecreaseInWarrantyLiability>
    <blfs:IncreaseDecreaseInWarrantyLiability
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200840"
      unitRef="USD">-3201000</blfs:IncreaseDecreaseInWarrantyLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200841"
      unitRef="USD">-17841000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200842"
      unitRef="USD">-5902000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200844"
      unitRef="USD">0</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200845"
      unitRef="USD">43000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:ProceedsFromSaleOfMachineryAndEquipment
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200846"
      unitRef="USD">0</us-gaap:ProceedsFromSaleOfMachineryAndEquipment>
    <us-gaap:ProceedsFromSaleOfMachineryAndEquipment
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200847"
      unitRef="USD">1000</us-gaap:ProceedsFromSaleOfMachineryAndEquipment>
    <blfs:PaymentsToAcquireAssetsHeldForRent
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200848"
      unitRef="USD">774000</blfs:PaymentsToAcquireAssetsHeldForRent>
    <blfs:PaymentsToAcquireAssetsHeldForRent
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200849"
      unitRef="USD">4280000</blfs:PaymentsToAcquireAssetsHeldForRent>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200850"
      unitRef="USD">3491000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200851"
      unitRef="USD">4407000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200852"
      unitRef="USD">23075000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200853"
      unitRef="USD">-0</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200854"
      unitRef="USD">-27340000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200855"
      unitRef="USD">-8643000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200857"
      unitRef="USD">301000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200858"
      unitRef="USD">608000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200859"
      unitRef="USD">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-5"
      id="c86200860"
      unitRef="USD">11800000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember"
      decimals="-3"
      id="c86200861"
      unitRef="USD">0</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember"
      decimals="-3"
      id="c86200862"
      unitRef="USD">1282000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200863"
      unitRef="USD">-0</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200864"
      unitRef="USD">12738000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200865"
      unitRef="USD">76000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200866"
      unitRef="USD">-0</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:RepaymentsOfDebt
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-EquipmentLoansMember"
      decimals="-3"
      id="c86200867"
      unitRef="USD">247000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-EquipmentLoansMember"
      decimals="-3"
      id="c86200868"
      unitRef="USD">-0</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"
      decimals="-3"
      id="c86200869"
      unitRef="USD">458000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="d_2021-01-01_2021-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"
      decimals="-3"
      id="c86200870"
      unitRef="USD">187000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200871"
      unitRef="USD">10000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200872"
      unitRef="USD">-380000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200873"
      unitRef="USD">-470000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200874"
      unitRef="USD">385000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200875"
      unitRef="USD">-45651000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200876"
      unitRef="USD">-14160000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c86200877"
      unitRef="USD">69870000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c86200878"
      unitRef="USD">90456000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86200879"
      unitRef="USD">-190000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200880"
      unitRef="USD">3000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86200881"
      unitRef="USD">24029000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86200882"
      unitRef="USD">76299000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200884"
      unitRef="USD">0</blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock>
    <blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200885"
      unitRef="USD">2901000</blfs:CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock>
    <blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200886"
      unitRef="USD">816000</blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares>
    <blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200887"
      unitRef="USD">0</blfs:StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200888"
      unitRef="USD">0</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200889"
      unitRef="USD">232741000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200890"
      unitRef="USD">243000</blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases>
    <blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200891"
      unitRef="USD">6971000</blfs:NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200892"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86200893"
      unitRef="USD">440000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200894"
      unitRef="USD">102000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200895"
      unitRef="USD">0</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:InterestPaidNet
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86200896"
      unitRef="USD">121000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86200897"
      unitRef="USD">0</us-gaap:InterestPaidNet>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171265">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;1.&lt;/em&gt; Organization and significant accounting policies&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Business&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;BioLife Solutions, Inc. (&#x201c;BioLife&#x201d;, &#x201c;us&#x201d;, &#x201c;we&#x201d;, &#x201c;our&#x201d;, or the &#x201c;Company&#x201d;) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated cell processing fill machines, closed system cryogenic vials, human platelet lysate (&#x201c;hPL&#x201d;) growth media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers and biological and pharmaceutical materials storage. Our CryoStor&#xae; freeze media and HypoThermosol&#xae; hypothermic storage media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes hPL media, for cell expansion reducing risk and improving downstream performance inherent with the use of fetal bovine serum and human serum, and CellSeal&#xae; cryogenic vials, which are purpose-built rigid containers used as a primary final package for cells used in research and clinical applications. These vials can be filled manually or with high throughput systems and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect cells from loss or contamination. Our ThawSTAR&#xae; product line is comprised of a family of automated thawing devices for frozen biologic material packaged in cryovials and cryobags. These products help to reduce thawing related damage to temperature-sensitive biologic materials by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials to be stored at temperatures which range from negative &lt;em style="font: inherit;"&gt;20&#x2103;&lt;/em&gt; to negative &lt;em style="font: inherit;"&gt;86&#x2103;.&lt;/em&gt; Our evo&#xae; shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials that can be stored at a wide range of temperatures.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Use of estimates&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#x201c;U.S. GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s net realizable value of inventory, fair value of warrant liability, valuation of market based awards, valuations and purchase price allocations related to investments and business combinations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, share-based compensation, contingent consideration from business combinations, and the recoverability of the Company&#x2019;s deferred tax assets and the related valuation allowance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Basis of presentation&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Unaudited Condensed Consolidated Financial Statements included herein have been prepared by BioLife in accordance with U.S. GAAP and pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;), for Quarterly Reports on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-Q and Article &lt;em style="font: inherit;"&gt;10&lt;/em&gt; of Regulation S-&lt;em style="font: inherit;"&gt;X&lt;/em&gt; and do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; include all of the information and footnote disclosures required by U.S. GAAP. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company&#x2019;s Annual Report on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K as of and for the fiscal year ended &lt;em style="font: inherit;"&gt; December 31, 2021.&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries, SAVSU Technologies, Inc. (&#x201c;SAVSU&#x201d; acquired on &lt;em style="font: inherit;"&gt; August 8, 2019), &lt;/em&gt;Arctic Solutions, Inc. doing business as Custom Biogenic Systems (&#x201c;CBS&#x201d; acquired on &lt;em style="font: inherit;"&gt; November 12, 2019), &lt;/em&gt;SciSafe Holdings, Inc. (&#x201c;SciSafe&#x201d; acquired on &lt;em style="font: inherit;"&gt; October 1, 2020), &lt;/em&gt;BioLife Solutions B.V. (formed on &lt;em style="font: inherit;"&gt; April 1, 2021), &lt;/em&gt;Global Cooling, Inc. doing business as Stirling Ultracold (&#x201c;Global Cooling&#x201d; or &#x201c;GCI&#x201d; acquired on &lt;em style="font: inherit;"&gt; May 3, 2021), &lt;/em&gt;and Sexton Biotechnologies, Inc. (&#x201c;Sexton&#x201d; acquired on &lt;em style="font: inherit;"&gt; September 1, 2021). &lt;/em&gt;All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
      &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; necessarily indicative of results to be expected for the entire year.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Foreign currency translation&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheet, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Shareholders&#x2019; Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company&#x2019;s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Segment reporting&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company views its operations and makes decisions regarding how to allocate resources and manages its business as &lt;em style="font: inherit;"&gt;one&lt;/em&gt; reportable segment and &lt;em style="font: inherit;"&gt;one&lt;/em&gt; reporting unit. The Company&#x2019;s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Significant accounting policies&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following describes an update to the Company&#x2019;s accounting policies for investments. For a full discussion of significant accounting policies, including additional information regarding the Company&#x2019;s accounting policies for investments, refer to the Notes to the Consolidated Financial Statements included within the Company&#x2019;s &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The Company classifies its investment in marketable debt securities as &#x201c;available-for-sale.&#x201d; Available-for-sale securities are carried at fair value with unrealized holding gains or losses recorded in other comprehensive income, net of tax. Gains or losses are included in earnings in the period in which they are realized. The cost of securities sold is determined based on the specific identification method. The cost of available-for-sale debt securities is adjusted for premiums and discounts, with the accretion or amortization of such amounts included as a portion of interest. Available-for-sale debt securities with an original maturity date less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year are classified as current investments. Available-for-sale debt securities with an original maturity date exceeding &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year are classified as long-term.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Liquidity and capital resources&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;we had $47.0 million and $69.9 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next &lt;em style="font: inherit;"&gt;twelve&lt;/em&gt; months from the date of the filing of this Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-Q. However, the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be available on reasonable terms, if at all.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Risks and uncertainties&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic&lt;/i&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Our domestic and international operations have been and continue to be affected by the ongoing global pandemic of a novel strain of coronavirus (&#x201c;COVID-&lt;em style="font: inherit;"&gt;19&#x201d;&lt;/em&gt;) and the resulting volatility and uncertainty it has caused in the U.S. and international markets. Many businesses and countries, including the U.S., continue to apply preventative and precautionary measures to mitigate the spread of the virus including government orders and other restrictions on the conduct of business operations.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and year ended &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;we experienced supply chain disruptions due to the effects of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; on our suppliers of sheet metal and electronic components that incorporate semiconductor chips. These supply chain disruptions decreased our profitability as a result of increased supplier pricing and production stoppages. We cannot be assured that a continued or prolonged global pandemic will &lt;em style="font: inherit;"&gt;not&lt;/em&gt; have other negative impacts on our manufacturing and shipping processes or our product costs. The extent to which the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-&lt;em style="font: inherit;"&gt;19.&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;also experience other negative impacts of the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; outbreak such as the lack of availability of the Company&#x2019;s key personnel, additional temporary closures of the Company&#x2019;s office or the facilities of the Company&#x2019;s business partners, customers, &lt;em style="font: inherit;"&gt;third&lt;/em&gt; party service providers or other vendors, the inability to travel to market and sell our products, and the interruption of the Company&#x2019;s supply chain, distribution channels, liquidity and capital or financial markets.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Any disruption and volatility in the global capital markets as a result of the pandemic &lt;em style="font: inherit;"&gt; may &lt;/em&gt;increase the Company&#x2019;s cost of capital and adversely affect the Company&#x2019;s ability to access financing when and on terms that the Company desires. In addition, a potential recession resulting from the spread of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; could materially affect the Company&#x2019;s business, especially if a recession results in higher unemployment causing potential patients to &lt;em style="font: inherit;"&gt;not&lt;/em&gt; have access to health insurance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
      &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The ultimate extent to which the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic and its repercussions impact the Company&#x2019;s business will depend on future developments, which are highly uncertain. However, the foregoing and other continued disruptions to the Company&#x2019;s business as a result of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; could result in a material adverse effect on the Company&#x2019;s business, results of operations, financial condition and cash flows.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Concentrations of credit risk and business risk&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Significant customers are those that represent more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of the Company&#x2019;s total revenues or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenues and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accounts Receivable&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Revenue&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer A&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;21&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer B&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
     &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;* less than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Revenue from foreign customers is denominated in United States dollars or euros.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer):&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Revenue by customers&lt;/b&gt;&#x2019;&lt;b&gt; geographic locations&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;77&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Europe, Middle East, Africa (EMEA)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Canada&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
     &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; &lt;em style="font: inherit;"&gt;no&lt;/em&gt; suppliers accounted for more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of purchases.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;&lt;em style="font: inherit;"&gt;no&lt;/em&gt; suppliers accounted for more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of our accounts payable.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b/&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Recent accounting pronouncements&lt;/b&gt;&#160;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; June 2022, &lt;/em&gt;the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03,&lt;/em&gt; &lt;i&gt;Fair Value Measurements (Topic &lt;em style="font: inherit;"&gt;820&lt;/em&gt;): Fair Value Measurement of Equity Securities Subject to Contractual Sales Restrictions&lt;/i&gt;. The FASB issued ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03&lt;/em&gt; to (&lt;em style="font: inherit;"&gt;1&lt;/em&gt;) clarify the guidance in Topic &lt;em style="font: inherit;"&gt;820,&lt;/em&gt; Fair Value Measurement, when measuring the fair value of an equity security subject to contractual restrictions that prohibit the sale of an equity security, (&lt;em style="font: inherit;"&gt;2&lt;/em&gt;) to amend a related illustrative example, and (&lt;em style="font: inherit;"&gt;3&lt;/em&gt;) to introduce new disclosure requirements for equity related securities subject to contractual sale restrictions that are measured at fair value in accordance with Topic &lt;em style="font: inherit;"&gt;820.&lt;/em&gt; ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03&lt;/em&gt; clarifies that a contractual restriction on the sale of an equity security is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; considered part of the unit of account of the equity security and, therefore, is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; considered in measuring fair value. The guidance is effective for fiscal years beginning after &lt;em style="font: inherit;"&gt; December 15, 2023, &lt;/em&gt;and interim periods within those fiscal years with early adoption permitted. BioLife Solutions is evaluating when to adopt the amendments in ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03.&lt;/em&gt; BioLife Solutions does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expect a material impact as a result of adopting this amendment.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; March 2022, &lt;/em&gt;the FASB issued ASU &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; &lt;i&gt;Financial Instruments-Credit Losses (Topic &lt;em style="font: inherit;"&gt;326&lt;/em&gt;): Troubled Debt Restructurings and Vintage Disclosures&lt;/i&gt;. ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; eliminates the accounting guidance for troubled debt restructurings and requires disclosure of current-period gross write-offs by year of loan origination. Additionally, ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; updates the accounting for credit losses under ASC &lt;em style="font: inherit;"&gt;326&lt;/em&gt; and adds enhanced disclosures with respect to loan refinancings and restructurings in the form of principal forgiveness, interest rate concessions, other-than-insignificant payment delays, or term extensions when the borrower is experiencing financial difficulties. ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; is effective for fiscal years beginning after &lt;em style="font: inherit;"&gt; December 15, 2022 &lt;/em&gt;and early adoption is permitted. We are currently evaluating the impact ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; will have on our consolidated financial statements.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"/&gt;
  </us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates contextRef="d_2022-01-01_2022-06-30" id="c86203848">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Use of estimates&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#x201c;U.S. GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s net realizable value of inventory, fair value of warrant liability, valuation of market based awards, valuations and purchase price allocations related to investments and business combinations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, share-based compensation, contingent consideration from business combinations, and the recoverability of the Company&#x2019;s deferred tax assets and the related valuation allowance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203849">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Basis of presentation&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Unaudited Condensed Consolidated Financial Statements included herein have been prepared by BioLife in accordance with U.S. GAAP and pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;), for Quarterly Reports on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-Q and Article &lt;em style="font: inherit;"&gt;10&lt;/em&gt; of Regulation S-&lt;em style="font: inherit;"&gt;X&lt;/em&gt; and do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; include all of the information and footnote disclosures required by U.S. GAAP. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company&#x2019;s Annual Report on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K as of and for the fiscal year ended &lt;em style="font: inherit;"&gt; December 31, 2021.&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries, SAVSU Technologies, Inc. (&#x201c;SAVSU&#x201d; acquired on &lt;em style="font: inherit;"&gt; August 8, 2019), &lt;/em&gt;Arctic Solutions, Inc. doing business as Custom Biogenic Systems (&#x201c;CBS&#x201d; acquired on &lt;em style="font: inherit;"&gt; November 12, 2019), &lt;/em&gt;SciSafe Holdings, Inc. (&#x201c;SciSafe&#x201d; acquired on &lt;em style="font: inherit;"&gt; October 1, 2020), &lt;/em&gt;BioLife Solutions B.V. (formed on &lt;em style="font: inherit;"&gt; April 1, 2021), &lt;/em&gt;Global Cooling, Inc. doing business as Stirling Ultracold (&#x201c;Global Cooling&#x201d; or &#x201c;GCI&#x201d; acquired on &lt;em style="font: inherit;"&gt; May 3, 2021), &lt;/em&gt;and Sexton Biotechnologies, Inc. (&#x201c;Sexton&#x201d; acquired on &lt;em style="font: inherit;"&gt; September 1, 2021). &lt;/em&gt;All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
      &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; necessarily indicative of results to be expected for the entire year.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203850">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Foreign currency translation&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheet, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Shareholders&#x2019; Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company&#x2019;s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203851">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Segment reporting&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company views its operations and makes decisions regarding how to allocate resources and manages its business as &lt;em style="font: inherit;"&gt;one&lt;/em&gt; reportable segment and &lt;em style="font: inherit;"&gt;one&lt;/em&gt; reporting unit. The Company&#x2019;s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <blfs:SignificantAccountingPoliciesPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203928">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Significant accounting policies&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following describes an update to the Company&#x2019;s accounting policies for investments. For a full discussion of significant accounting policies, including additional information regarding the Company&#x2019;s accounting policies for investments, refer to the Notes to the Consolidated Financial Statements included within the Company&#x2019;s &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The Company classifies its investment in marketable debt securities as &#x201c;available-for-sale.&#x201d; Available-for-sale securities are carried at fair value with unrealized holding gains or losses recorded in other comprehensive income, net of tax. Gains or losses are included in earnings in the period in which they are realized. The cost of securities sold is determined based on the specific identification method. The cost of available-for-sale debt securities is adjusted for premiums and discounts, with the accretion or amortization of such amounts included as a portion of interest. Available-for-sale debt securities with an original maturity date less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year are classified as current investments. Available-for-sale debt securities with an original maturity date exceeding &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year are classified as long-term.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</blfs:SignificantAccountingPoliciesPolicyTextBlock>
    <blfs:LiquidityAndCapitalResourcesPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203852">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Liquidity and capital resources&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;we had $47.0 million and $69.9 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next &lt;em style="font: inherit;"&gt;twelve&lt;/em&gt; months from the date of the filing of this Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-Q. However, the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;choose to raise additional capital through a debt or equity financing in order to pursue additional acquisition or strategic investment opportunities. Additional capital, if required, &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be available on reasonable terms, if at all.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</blfs:LiquidityAndCapitalResourcesPolicyPolicyTextBlock>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="i_2022-06-30"
      decimals="-6"
      id="c86200927"
      unitRef="USD">47000000.0</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="i_2021-12-31"
      decimals="-5"
      id="c86200928"
      unitRef="USD">69900000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <blfs:RiskAndUncertaintiesPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203853">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Risks and uncertainties&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic&lt;/i&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Our domestic and international operations have been and continue to be affected by the ongoing global pandemic of a novel strain of coronavirus (&#x201c;COVID-&lt;em style="font: inherit;"&gt;19&#x201d;&lt;/em&gt;) and the resulting volatility and uncertainty it has caused in the U.S. and international markets. Many businesses and countries, including the U.S., continue to apply preventative and precautionary measures to mitigate the spread of the virus including government orders and other restrictions on the conduct of business operations.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and year ended &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;we experienced supply chain disruptions due to the effects of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; on our suppliers of sheet metal and electronic components that incorporate semiconductor chips. These supply chain disruptions decreased our profitability as a result of increased supplier pricing and production stoppages. We cannot be assured that a continued or prolonged global pandemic will &lt;em style="font: inherit;"&gt;not&lt;/em&gt; have other negative impacts on our manufacturing and shipping processes or our product costs. The extent to which the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-&lt;em style="font: inherit;"&gt;19.&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;also experience other negative impacts of the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; outbreak such as the lack of availability of the Company&#x2019;s key personnel, additional temporary closures of the Company&#x2019;s office or the facilities of the Company&#x2019;s business partners, customers, &lt;em style="font: inherit;"&gt;third&lt;/em&gt; party service providers or other vendors, the inability to travel to market and sell our products, and the interruption of the Company&#x2019;s supply chain, distribution channels, liquidity and capital or financial markets.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Any disruption and volatility in the global capital markets as a result of the pandemic &lt;em style="font: inherit;"&gt; may &lt;/em&gt;increase the Company&#x2019;s cost of capital and adversely affect the Company&#x2019;s ability to access financing when and on terms that the Company desires. In addition, a potential recession resulting from the spread of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; could materially affect the Company&#x2019;s business, especially if a recession results in higher unemployment causing potential patients to &lt;em style="font: inherit;"&gt;not&lt;/em&gt; have access to health insurance.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
      &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The ultimate extent to which the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic and its repercussions impact the Company&#x2019;s business will depend on future developments, which are highly uncertain. However, the foregoing and other continued disruptions to the Company&#x2019;s business as a result of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; could result in a material adverse effect on the Company&#x2019;s business, results of operations, financial condition and cash flows.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</blfs:RiskAndUncertaintiesPolicyPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="d_2022-01-01_2022-06-30" id="c86203854">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Concentrations of credit risk and business risk&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Significant customers are those that represent more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of the Company&#x2019;s total revenues or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenues and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accounts Receivable&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Revenue&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer A&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;21&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer B&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
     &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;* less than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Revenue from foreign customers is denominated in United States dollars or euros.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer):&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Revenue by customers&lt;/b&gt;&#x2019;&lt;b&gt; geographic locations&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;77&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Europe, Middle East, Africa (EMEA)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Canada&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
     &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; &lt;em style="font: inherit;"&gt;no&lt;/em&gt; suppliers accounted for more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of purchases.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;&lt;em style="font: inherit;"&gt;no&lt;/em&gt; suppliers accounted for more than &lt;em style="font: inherit;"&gt;10%&lt;/em&gt; of our accounts payable.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171266">
     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accounts Receivable&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Revenue&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer A&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;21&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer B&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;*&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
    </us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember"
      decimals="2"
      id="c86201014"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember"
      decimals="2"
      id="c86201015"
      unitRef="Pure">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"
      decimals="2"
      id="c86201018"
      unitRef="Pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"
      decimals="2"
      id="c86201019"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"
      decimals="1"
      id="c86201020"
      unitRef="Pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerBMember"
      decimals="1"
      id="c86201021"
      unitRef="Pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171389">
     &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Revenue by customers&lt;/b&gt;&#x2019;&lt;b&gt; geographic locations&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;77&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Europe, Middle East, Africa (EMEA)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Canada&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
    </us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c86202760"
      unitRef="Pure">0.75</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c86202761"
      unitRef="Pure">0.82</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c86202762"
      unitRef="Pure">0.77</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="1"
      id="c86202763"
      unitRef="Pure">0.80</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"
      decimals="2"
      id="c86202764"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"
      decimals="1"
      id="c86202765"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"
      decimals="2"
      id="c86202766"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-EMEAMember"
      decimals="2"
      id="c86202767"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"
      decimals="2"
      id="c86202768"
      unitRef="Pure">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"
      decimals="2"
      id="c86202769"
      unitRef="Pure">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"
      decimals="2"
      id="c86202770"
      unitRef="Pure">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-CA"
      decimals="2"
      id="c86202771"
      unitRef="Pure">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"
      decimals="2"
      id="c86202772"
      unitRef="Pure">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"
      decimals="2"
      id="c86202773"
      unitRef="Pure">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"
      decimals="2"
      id="c86202774"
      unitRef="Pure">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-GeographicOtherMember"
      decimals="2"
      id="c86202775"
      unitRef="Pure">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"
      decimals="0"
      id="c86202776"
      unitRef="Pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-04-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"
      decimals="0"
      id="c86202777"
      unitRef="Pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"
      decimals="0"
      id="c86202778"
      unitRef="Pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-AllLocationMember"
      decimals="0"
      id="c86202779"
      unitRef="Pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-06-30" id="c86203855">&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;Recent accounting pronouncements&lt;/b&gt;&#160;&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; June 2022, &lt;/em&gt;the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03,&lt;/em&gt; &lt;i&gt;Fair Value Measurements (Topic &lt;em style="font: inherit;"&gt;820&lt;/em&gt;): Fair Value Measurement of Equity Securities Subject to Contractual Sales Restrictions&lt;/i&gt;. The FASB issued ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03&lt;/em&gt; to (&lt;em style="font: inherit;"&gt;1&lt;/em&gt;) clarify the guidance in Topic &lt;em style="font: inherit;"&gt;820,&lt;/em&gt; Fair Value Measurement, when measuring the fair value of an equity security subject to contractual restrictions that prohibit the sale of an equity security, (&lt;em style="font: inherit;"&gt;2&lt;/em&gt;) to amend a related illustrative example, and (&lt;em style="font: inherit;"&gt;3&lt;/em&gt;) to introduce new disclosure requirements for equity related securities subject to contractual sale restrictions that are measured at fair value in accordance with Topic &lt;em style="font: inherit;"&gt;820.&lt;/em&gt; ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03&lt;/em&gt; clarifies that a contractual restriction on the sale of an equity security is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; considered part of the unit of account of the equity security and, therefore, is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; considered in measuring fair value. The guidance is effective for fiscal years beginning after &lt;em style="font: inherit;"&gt; December 15, 2023, &lt;/em&gt;and interim periods within those fiscal years with early adoption permitted. BioLife Solutions is evaluating when to adopt the amendments in ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;03.&lt;/em&gt; BioLife Solutions does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expect a material impact as a result of adopting this amendment.&lt;/p&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; March 2022, &lt;/em&gt;the FASB issued ASU &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; &lt;i&gt;Financial Instruments-Credit Losses (Topic &lt;em style="font: inherit;"&gt;326&lt;/em&gt;): Troubled Debt Restructurings and Vintage Disclosures&lt;/i&gt;. ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; eliminates the accounting guidance for troubled debt restructurings and requires disclosure of current-period gross write-offs by year of loan origination. Additionally, ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; updates the accounting for credit losses under ASC &lt;em style="font: inherit;"&gt;326&lt;/em&gt; and adds enhanced disclosures with respect to loan refinancings and restructurings in the form of principal forgiveness, interest rate concessions, other-than-insignificant payment delays, or term extensions when the borrower is experiencing financial difficulties. ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; is effective for fiscal years beginning after &lt;em style="font: inherit;"&gt; December 15, 2022 &lt;/em&gt;and early adoption is permitted. We are currently evaluating the impact ASU &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;02&lt;/em&gt; will have on our consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171268">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2.&lt;/em&gt;&lt;/b&gt; &lt;b&gt;Fair value measurement&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In accordance with FASB ASC Topic &lt;em style="font: inherit;"&gt;820,&lt;/em&gt; &lt;i&gt;Fair Value Measurements and Disclosures&lt;/i&gt;, (&#x201c;ASC Topic &lt;em style="font: inherit;"&gt;820&#x201d;&lt;/em&gt;), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; or Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt; in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt; in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting. ASC Topic &lt;em style="font: inherit;"&gt;820&lt;/em&gt; clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic &lt;em style="font: inherit;"&gt;820&lt;/em&gt; establishes a &lt;em style="font: inherit;"&gt;three&lt;/em&gt;-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; &#x2013; Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt; &#x2013; Observable inputs other than quoted prices included in Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; for similar assets or liabilities, quoted prices in markets that are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; &#x2013; Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The fair value of the CBS Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 26.0%, a risk-free rate of approximately 1.74% and revenue volatility of 70%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would &lt;em style="font: inherit;"&gt;not&lt;/em&gt; affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. Subsequent to the acquisition date, at each reporting period, the Contingent Consideration Liability is re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;the Company used a discount rate of 21.0%, a risk-free rate of 0.23% and revenue volatility of 63%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;in the amount of $140,000.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The fair value of the SciSafe Contingent Consideration Liability was initially valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 4.5%, a risk-free rate of approximately 0.20%, asset volatility of 60%, and revenue volatility of 15%. Significant increases (decreases) in any of those inputs in isolation would result in a significantly higher (lower) fair value measurement. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would &lt;em style="font: inherit;"&gt;not&lt;/em&gt; affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $3.7 million. Subsequent to the acquisition date, the Contingent Consideration Liability was re-measured to fair value with changes recorded in the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. During the most recent re-measurement of the Contingent Consideration Liability as of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the Company used a discount rate of 11.0%, a risk-free rate of approximately 2.9%, asset volatility of 69%, and revenue volatility of 30%. This Contingent Consideration Liability is included in the Unaudited Condensed Consolidated Balance Sheets as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;in the amounts of $3.4 million and $9.9 million, respectively. The changes in fair value of contingent consideration associated with this liability are included within the Change in Fair Value of Contingent Consideration in the Unaudited Condensed Consolidated Statements of Operations. These changes were $2.4 million and $5.7 million for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $1.8 million and $1.3 million for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; month periods ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. During the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; hurdle associated with this liability was satisfied and 64,130 shares were issued as payment.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;For the warrant liability, the significant Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; inputs included the contractual remaining term of the warrants and the volatility of the Company&#x2019;s common stock. For the estimated term of the warrants, we used the actual terms of the warrants, which expired &lt;em style="font: inherit;"&gt; March 25, 2021. &lt;/em&gt;On that date, all remaining warrants were exercised via a &#x201c;cashless&#x201d; exercise and the warrant liability was revalued to its intrinsic value, as the Company&#x2019;s stock price was observable as of that date.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;There were &lt;em style="font: inherit;"&gt;no&lt;/em&gt; remeasurements to fair value during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;of financial assets and liabilities that are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; measured at fair value on a recurring basis.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following tables set forth the Company&#x2019;s financial assets and liabilities measured at fair value on a recurring basis as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;based on the &lt;em style="font: inherit;"&gt;three&lt;/em&gt;-tier fair value hierarchy:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;As of June 30, 2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 1&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 2&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 3&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Cash equivalents:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Money market accounts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,086&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,086&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Non-U.S. government agency securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;748&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;748&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Marketable debt securities:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;U.S. government securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,185&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,185&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,421&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;15,690&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;43,111&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Liabilities:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Contingent consideration - business combinations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;11,066&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;As of December 31, 2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 1&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 2&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 3&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Money market accounts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Liabilities:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Contingent consideration - business combinations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The fair values of money market funds classified as Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; were derived from quoted market prices as active markets for these instruments exist. The fair values of investments and contingent consideration classified as Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; were derived from management assumptions (see Note &lt;em style="font: inherit;"&gt;1&lt;/em&gt; &#x2013; &#x201c;&lt;i&gt;Organization and Significant Accounting Policies.&lt;/i&gt;&#x201d;) There have been &lt;em style="font: inherit;"&gt;no&lt;/em&gt; transfers of assets or liabilities between the fair value measurement levels.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table presents the changes in fair value of contingent consideration liabilities which are measured using Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; inputs:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,152&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Change in fair value recognized in net (loss) income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(5,695&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,226&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Payment of contingent consideration earned&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(817&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,378&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table presents the changes in fair value of warrant liabilities which are measured using Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; inputs:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,780&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised warrants&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,901&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Change in fair value recognized in net (loss) income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;121&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"
      decimals="2"
      id="c86201056"
      unitRef="Pure">0.260</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"
      decimals="4"
      id="c86201057"
      unitRef="Pure">0.0174</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2019-11-10_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember"
      decimals="1"
      id="c86201058"
      unitRef="Pure">0.70</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"
      decimals="2"
      id="c86201060"
      unitRef="Pure">0.210</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"
      decimals="4"
      id="c86201061"
      unitRef="Pure">0.0023</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember_MeasurementInputTypeAxis-MeasurementInputPriceVolatilityMember"
      decimals="2"
      id="c86201062"
      unitRef="Pure">0.63</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember"
      decimals="INF"
      id="c86201063"
      unitRef="USD">140000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"
      decimals="3"
      id="c86201064"
      unitRef="Pure">0.045</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"
      decimals="3"
      id="c86201065"
      unitRef="Pure">0.0020</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember"
      decimals="1"
      id="c86201066"
      unitRef="Pure">0.60</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember"
      decimals="2"
      id="c86201067"
      unitRef="Pure">0.15</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2020-10-01_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201069"
      unitRef="USD">3700000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputDiscountRateMember"
      decimals="INF"
      id="c86201070"
      unitRef="Pure">11.0</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      id="c86201071"
      unitRef="Pure">2.9</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputAssetPriceVolatilityMember"
      decimals="INF"
      id="c86201072"
      unitRef="Pure">69</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember_MeasurementInputTypeAxis-MeasurementInputRevenueVolatilityMember"
      decimals="INF"
      id="c86201073"
      unitRef="Pure">30</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201074"
      unitRef="USD">3400000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201075"
      unitRef="USD">9900000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2022-04-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201076"
      unitRef="USD">2400000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201077"
      unitRef="USD">5700000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2021-04-06_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201080"
      unitRef="USD">1800000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="-5"
      id="c86201081"
      unitRef="USD">1300000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <blfs:BusinessCombinationContingentConsiderationStockIssued
      contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-SciSafeHoldingsIncMember"
      decimals="INF"
      id="c86201087"
      unitRef="Share">64130</blfs:BusinessCombinationContingentConsiderationStockIssued>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c3CFF6237-5974-490B-9170-D302B3825467">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;As of June 30, 2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 1&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 2&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Level 3&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Cash equivalents:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Money market accounts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,086&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,086&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Non-U.S. government agency securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;748&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;748&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Marketable debt securities:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;U.S. government securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,185&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,185&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,421&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;15,690&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;43,111&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Liabilities:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Contingent consideration - business combinations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;11,066&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;As of December 31, 2021&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 1&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 2&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Level 3&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Money market accounts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,873&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Liabilities:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Contingent consideration - business combinations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,242&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201111"
      unitRef="USD">17086000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201112"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201113"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201114"
      unitRef="USD">17086000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201115"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201116"
      unitRef="USD">2242000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201117"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-CorporateDebtSecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201118"
      unitRef="USD">2242000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201119"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201120"
      unitRef="USD">748000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201121"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2022-06-30_CashAndCashEquivalentsAxis-NonUSGovernmentAgencySecuritiesCashEquivalentsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201122"
      unitRef="USD">748000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201124"
      unitRef="USD">10335000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201125"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201126"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201127"
      unitRef="USD">10335000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201128"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201129"
      unitRef="USD">11515000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201130"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201131"
      unitRef="USD">11515000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201132"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201133"
      unitRef="USD">1185000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201134"
      unitRef="USD">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201135"
      unitRef="USD">1185000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201136"
      unitRef="USD">27421000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-4"
      id="c86201137"
      unitRef="USD">15690000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201138"
      unitRef="USD">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201139"
      unitRef="USD">43111000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201141"
      unitRef="USD">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201142"
      unitRef="USD">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201143"
      unitRef="USD">3515000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201144"
      unitRef="USD">3515000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201145"
      unitRef="USD">0</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201146"
      unitRef="USD">7551000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201147"
      unitRef="USD">0</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201148"
      unitRef="USD">7551000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201149"
      unitRef="USD">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201150"
      unitRef="USD">7551000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201151"
      unitRef="USD">3515000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201152"
      unitRef="USD">11066000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201154"
      unitRef="USD">63873000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201155"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201156"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i_2021-12-31_CashAndCashEquivalentsAxis-MoneyMarketFundsMember_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201157"
      unitRef="USD">63873000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201158"
      unitRef="USD">63873000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201159"
      unitRef="USD">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201160"
      unitRef="USD">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201161"
      unitRef="USD">63873000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201163"
      unitRef="USD">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201164"
      unitRef="USD">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201165"
      unitRef="USD">10027000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201166"
      unitRef="USD">10027000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201167"
      unitRef="USD">0</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201168"
      unitRef="USD">7215000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201169"
      unitRef="USD">0</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201170"
      unitRef="USD">7215000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201171"
      unitRef="USD">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201172"
      unitRef="USD">7215000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201173"
      unitRef="USD">10027000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i_2021-12-31_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="c86201174"
      unitRef="USD">17242000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      id="c2171271">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,027&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,152&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Change in fair value recognized in net (loss) income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(5,695&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,226&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Payment of contingent consideration earned&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(817&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,515&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,378&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201175"
      unitRef="USD">10027000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2020-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201176"
      unitRef="USD">7152000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201177"
      unitRef="USD">-5695000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
      contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201178"
      unitRef="USD">1226000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201179"
      unitRef="USD">-817000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201180"
      unitRef="USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2022-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201181"
      unitRef="USD">3515000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2021-06-30_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember"
      decimals="-3"
      id="c86201182"
      unitRef="USD">8378000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      id="c2171272">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,780&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised warrants&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,901&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Change in fair value recognized in net (loss) income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;121&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201183"
      unitRef="USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2020-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-4"
      id="c86201184"
      unitRef="USD">2780000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201185"
      unitRef="USD">-0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201186"
      unitRef="USD">2901000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
      contextRef="d_2022-01-01_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201187"
      unitRef="USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1
      contextRef="d_2021-01-01_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201188"
      unitRef="USD">121000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2022-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201189"
      unitRef="USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i_2021-06-30_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember"
      decimals="-3"
      id="c86201190"
      unitRef="USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:InvestmentTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171273">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;3.&lt;/em&gt; Investments&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Available-for-sale securities&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company&#x2019;s portfolio of available-for-sale marketable securities consists of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross unrealized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Estimated&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Cost&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gains&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Losses&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Available-for-sale securities, current portion&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;U.S. government securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,361&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,524&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;699&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;695&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total short-term&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;22,584&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;22,546&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Available-for-sale securities, long-term&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;491&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total marketable securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,075&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;40&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;There were &lt;em style="font: inherit;"&gt;no&lt;/em&gt; outstanding available-for-sale marketable securities as of &lt;em style="font: inherit;"&gt; December 31, 2021.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The contractual maturities of our available-for-sale marketable securities as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Estimated&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Cost&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Due in one year or less&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,584&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,546&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Due after one year through five years&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;491&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,075&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Equity investments&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We periodically invest in securities of private companies to promote business and strategic objectives. At &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;we held non-marketable equity securities without a readily determinable fair value, comprised of $3.4 million in Series A-&lt;em style="font: inherit;"&gt;1&lt;/em&gt; and A-&lt;em style="font: inherit;"&gt;2&lt;/em&gt; Preferred Stock in iVexSol, Inc. and $995,000 in Series E Preferred Stock in PanTHERA CryoSolutions, Inc.&lt;/p&gt;
  </us-gaap:InvestmentTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c663E0FEC-8BB7-47B8-8749-5F0601FDB295">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross unrealized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Estimated&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Cost&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gains&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Losses&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Available-for-sale securities, current portion&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;U.S. government securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,361&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10,335&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Corporate debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,524&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;699&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;695&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total short-term&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;22,584&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;22,546&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Available-for-sale securities, long-term&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other debt securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;491&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total marketable securities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,075&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;40&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortized&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Estimated&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Cost&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Due in one year or less&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,584&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,546&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Due after one year through five years&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;491&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,075&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201198"
      unitRef="USD">10361000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent
      contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201200"
      unitRef="USD">26000</blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-USGovernmentAgenciesDebtSecuritiesMember"
      decimals="-3"
      id="c86201201"
      unitRef="USD">10335000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201202"
      unitRef="USD">11524000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent
      contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201204"
      unitRef="USD">8000</blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-CorporateDebtSecuritiesMember"
      decimals="-3"
      id="c86201205"
      unitRef="USD">11516000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201206"
      unitRef="USD">699000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent
      contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201208"
      unitRef="USD">4000</blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201209"
      unitRef="USD">695000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201210"
      unitRef="USD">22584000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201212"
      unitRef="USD">38000</blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201213"
      unitRef="USD">22546000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201215"
      unitRef="USD">491000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent>
    <blfs:DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent
      contextRef="d_2022-01-01_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201217"
      unitRef="USD">2000</blfs:DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent
      contextRef="i_2022-06-30_FinancialInstrumentAxis-OtherDebtSecuritiesMember"
      decimals="-3"
      id="c86201218"
      unitRef="USD">489000</us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201219"
      unitRef="USD">23075000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86201221"
      unitRef="USD">40000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201222"
      unitRef="USD">23035000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201223"
      unitRef="USD">22584000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201224"
      unitRef="USD">22546000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201225"
      unitRef="USD">491000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201226"
      unitRef="USD">489000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201227"
      unitRef="USD">23075000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201228"
      unitRef="USD">23035000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount
      contextRef="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember"
      decimals="-5"
      id="c86201193"
      unitRef="USD">3400000</us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount>
    <us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount
      contextRef="i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesEPreferredStockMember"
      decimals="INF"
      id="c86201196"
      unitRef="USD">995000</us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount>
    <us-gaap:InventoryDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171276">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;4.&lt;/em&gt; Inventory&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Inventory consists of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,457&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,252&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Work in progress&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,791&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,015&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,087&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,078&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;33,335&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;28,345&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171277">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,457&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,252&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Work in progress&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,791&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,015&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,087&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,078&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;33,335&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;28,345&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201230"
      unitRef="USD">18457000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201231"
      unitRef="USD">17252000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201232"
      unitRef="USD">4791000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201233"
      unitRef="USD">5015000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201234"
      unitRef="USD">10087000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201235"
      unitRef="USD">6078000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201236"
      unitRef="USD">33335000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201237"
      unitRef="USD">28345000</us-gaap:InventoryNet>
    <blfs:LesseeLeasesTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171278">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;5.&lt;/em&gt; Leases&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We have various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases have remaining lease terms of &lt;em style="font: inherit;"&gt;&lt;span style="-sec-ix-hidden:c86201240"&gt;one&lt;/span&gt;&lt;/em&gt; to &lt;span style="-sec-ix-hidden:c86201241"&gt;ten&lt;/span&gt; years. We exclude options that are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; reasonably certain to be exercised from our lease terms, ranging from &lt;em style="font: inherit;"&gt;one&lt;/em&gt; to &lt;em style="font: inherit;"&gt;five&lt;/em&gt; years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases have terms between &lt;em style="font: inherit;"&gt;&lt;span style="-sec-ix-hidden:c86201246"&gt;one&lt;/span&gt;&lt;/em&gt; and &lt;span style="-sec-ix-hidden:c86201247"&gt;five&lt;/span&gt; years.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Our financing leases relate to research equipment, machinery, and other equipment.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company&#x2019;s leases as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average discount rate - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average discount rate - finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average remaining lease term in years - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average remaining lease term in years - finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The components of lease expense for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; were as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;929&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;679&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,836&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,154&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Short-term lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;519&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;450&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;986&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;661&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total operating lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,448&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,129&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,822&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,815&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Variable lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;254&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;157&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;559&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;284&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,286&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,381&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,099&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Maturities of our lease liabilities as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;are as follows:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Operating &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Financing&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,756&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;86&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,199&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;171&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,921&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;101&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,461&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,001&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,364&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Total lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;396&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Less: interest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,764&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total present value of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,938&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;366&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </blfs:LesseeLeasesTextBlock>
    <blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171279">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average discount rate - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average discount rate - finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average remaining lease term in years - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Weighted average remaining lease term in years - finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.5&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-06-30"
      decimals="3"
      id="c86201253"
      unitRef="Pure">0.038</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2021-12-31"
      decimals="3"
      id="c86201254"
      unitRef="Pure">0.038</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-06-30"
      decimals="3"
      id="c86201255"
      unitRef="Pure">0.061</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2021-12-31"
      decimals="3"
      id="c86201256"
      unitRef="Pure">0.061</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-06-30" id="c86201257">P7Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-12-31" id="c86201258">P7Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-06-30" id="c86201259">P2Y6M</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-12-31" id="c86201260">P3Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:LeaseCostTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171280">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;929&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;679&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,836&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,154&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Short-term lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;519&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;450&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;986&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;661&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total operating lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,448&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,129&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,822&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,815&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Variable lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;254&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;157&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;559&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;284&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total lease costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,286&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,381&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,099&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201261"
      unitRef="USD">929000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86201262"
      unitRef="USD">679000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201263"
      unitRef="USD">1836000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201264"
      unitRef="USD">1154000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201265"
      unitRef="USD">519000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-4"
      id="c86201266"
      unitRef="USD">450000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201267"
      unitRef="USD">986000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201268"
      unitRef="USD">661000</us-gaap:ShortTermLeaseCost>
    <blfs:OperatingLeaseCostsAndShorttermLeaseCosts
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201269"
      unitRef="USD">1448000</blfs:OperatingLeaseCostsAndShorttermLeaseCosts>
    <blfs:OperatingLeaseCostsAndShorttermLeaseCosts
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86201270"
      unitRef="USD">1129000</blfs:OperatingLeaseCostsAndShorttermLeaseCosts>
    <blfs:OperatingLeaseCostsAndShorttermLeaseCosts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201271"
      unitRef="USD">2822000</blfs:OperatingLeaseCostsAndShorttermLeaseCosts>
    <blfs:OperatingLeaseCostsAndShorttermLeaseCosts
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201272"
      unitRef="USD">1815000</blfs:OperatingLeaseCostsAndShorttermLeaseCosts>
    <us-gaap:VariableLeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201273"
      unitRef="USD">254000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86201274"
      unitRef="USD">157000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201275"
      unitRef="USD">559000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201276"
      unitRef="USD">284000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201277"
      unitRef="USD">1702000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86201278"
      unitRef="USD">1286000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201279"
      unitRef="USD">3381000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201280"
      unitRef="USD">2099000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171281">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Operating &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Financing&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,756&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;86&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,199&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;171&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,921&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;101&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,461&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,001&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,364&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Total lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;20,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;396&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Less: interest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,764&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total present value of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,938&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;366&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201281"
      unitRef="USD">1756000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201282"
      unitRef="USD">86000</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201283"
      unitRef="USD">3199000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201284"
      unitRef="USD">171000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201285"
      unitRef="USD">2921000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201286"
      unitRef="USD">101000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201287"
      unitRef="USD">2461000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201288"
      unitRef="USD">37000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201289"
      unitRef="USD">2001000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201290"
      unitRef="USD">1000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <blfs:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201291"
      unitRef="USD">8364000</blfs:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour>
    <blfs:FinanceLeaseLiabilityPaymentsDueAfterYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201292"
      unitRef="USD">0</blfs:FinanceLeaseLiabilityPaymentsDueAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201293"
      unitRef="USD">20702000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201294"
      unitRef="USD">396000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201295"
      unitRef="USD">2764000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86201296"
      unitRef="USD">30000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201297"
      unitRef="USD">17938000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201298"
      unitRef="USD">366000</us-gaap:FinanceLeaseLiability>
    <blfs:AssetsHeldForRentTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171282">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;6.&lt;/em&gt;&lt;/b&gt; &lt;b&gt;Assets held for rent&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Assets held for rent consist of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Shippers placed in service&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,274&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,645&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Fixed assets held for rent&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,686&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,040&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3,737&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,272&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,223&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,413&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Shippers and related components in production&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,860&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,396&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,083&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,809&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $868,000 and $1.8 million in depreciation expense related to assets held for rent during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $299,000 and $483,000 during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively.&lt;/p&gt;
  </blfs:AssetsHeldForRentTextBlock>
    <blfs:ScheduleOfAssetsHeldForRentTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171283">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Shippers placed in service&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,274&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,645&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Fixed assets held for rent&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,686&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,040&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3,737&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,272&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,223&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,413&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Shippers and related components in production&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,860&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,396&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,083&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,809&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </blfs:ScheduleOfAssetsHeldForRentTableTextBlock>
    <blfs:ShippersPlacedInServiceGross
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201309"
      unitRef="USD">6274000</blfs:ShippersPlacedInServiceGross>
    <blfs:ShippersPlacedInServiceGross
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86201310"
      unitRef="USD">5645000</blfs:ShippersPlacedInServiceGross>
    <blfs:FixedAssetsHeldForRent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201311"
      unitRef="USD">4686000</blfs:FixedAssetsHeldForRent>
    <blfs:FixedAssetsHeldForRent
      contextRef="i_2021-06-30"
      decimals="-4"
      id="c86201312"
      unitRef="USD">4040000</blfs:FixedAssetsHeldForRent>
    <blfs:ShippersPlacedInServiceDepreciation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201313"
      unitRef="USD">-3737000</blfs:ShippersPlacedInServiceDepreciation>
    <blfs:ShippersPlacedInServiceDepreciation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201314"
      unitRef="USD">-2272000</blfs:ShippersPlacedInServiceDepreciation>
    <blfs:ShippersPlacedInServiceNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201315"
      unitRef="USD">7223000</blfs:ShippersPlacedInServiceNet>
    <blfs:ShippersPlacedInServiceNet
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86201316"
      unitRef="USD">7413000</blfs:ShippersPlacedInServiceNet>
    <blfs:ShippersAndRelatedComponentsInProduction
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86201317"
      unitRef="USD">1860000</blfs:ShippersAndRelatedComponentsInProduction>
    <blfs:ShippersAndRelatedComponentsInProduction
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86201318"
      unitRef="USD">2396000</blfs:ShippersAndRelatedComponentsInProduction>
    <blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201319"
      unitRef="USD">9083000</blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet>
    <blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86201320"
      unitRef="USD">9809000</blfs:ShippersPlacedInServiceAndFixedAssetsHeldForRentNet>
    <blfs:AssetsHeldForRentDepreciation
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86201300"
      unitRef="USD">868000</blfs:AssetsHeldForRentDepreciation>
    <blfs:AssetsHeldForRentDepreciation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86201301"
      unitRef="USD">1800000</blfs:AssetsHeldForRentDepreciation>
    <blfs:AssetsHeldForRentDepreciation
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86201304"
      unitRef="USD">299000</blfs:AssetsHeldForRentDepreciation>
    <blfs:AssetsHeldForRentDepreciation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86201305"
      unitRef="USD">483000</blfs:AssetsHeldForRentDepreciation>
    <us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171284">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;7.&lt;/em&gt; Property and equipment&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Property and equipment consist of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property and equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,049&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,840&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Furniture and computer equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,878&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,861&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Manufacturing and other equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,047&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16,675&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Construction in-progress&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,990&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,022&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Subtotal&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,964&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;24,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Less: Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,847&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(6,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;Property and equipment, net&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,117&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,657&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Depreciation expense for property and equipment was $730,000 and $1.5 million for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $819,000 and $1.4 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively.&lt;/p&gt;
  </us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171285">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property and equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,049&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,840&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Furniture and computer equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,878&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,861&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Manufacturing and other equipment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,047&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16,675&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Construction in-progress&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,990&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,022&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Subtotal&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,964&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;24,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Less: Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,847&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(6,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;Property and equipment, net&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,117&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,657&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"
      decimals="-3"
      id="c86201331"
      unitRef="USD">4049000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"
      decimals="-4"
      id="c86201332"
      unitRef="USD">3840000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember"
      decimals="-3"
      id="c86201333"
      unitRef="USD">1878000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndComputerEquipmentMember"
      decimals="-3"
      id="c86201334"
      unitRef="USD">1861000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember"
      decimals="-3"
      id="c86201335"
      unitRef="USD">18047000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ManufacturingFacilityMember"
      decimals="-3"
      id="c86201336"
      unitRef="USD">16675000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-4"
      id="c86201337"
      unitRef="USD">2990000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-3"
      id="c86201338"
      unitRef="USD">2022000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201339"
      unitRef="USD">26964000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201340"
      unitRef="USD">24398000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201341"
      unitRef="USD">7847000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201342"
      unitRef="USD">6741000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201343"
      unitRef="USD">19117000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201344"
      unitRef="USD">17657000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86201322"
      unitRef="USD">730000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86201323"
      unitRef="USD">1500000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86201326"
      unitRef="USD">819000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-5"
      id="c86201327"
      unitRef="USD">1400000</us-gaap:Depreciation>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171286">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;8.&lt;/em&gt; Goodwill and intangible assets&lt;/b&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Goodwill&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; amortized, but instead is tested for impairment at least annually in accordance with ASC &lt;em style="font: inherit;"&gt;350.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Intangible assets&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Intangible assets, net consisted of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except weighted average useful life)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Intangible assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accumulated Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Net Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Weighted Average Useful Life (in years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer Relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,984&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,976&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13,008&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,635&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(3,571&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,064&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13.3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Technology - acquired&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;38,410&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(10,766&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,644&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,986&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(725&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,261&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.5&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&#x207d;&#xb9;&#x207e;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,562&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(18,038&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;76,524&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9.2&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;



    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except weighted average useful life)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Intangible assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accumulated&lt;br/&gt; Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Net Carrying&lt;br/&gt; Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Weighted&lt;br/&gt; Average Useful&lt;br/&gt; Life (in years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer Relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,776&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,740&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10.3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35,574&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,306&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33,268&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Technology - acquired&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;41,942&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7,789&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,153&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.9&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,990&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(442&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,548&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.0&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&#x207d;&#xb9;&#x207e;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;164,462&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(12,313&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;152,149&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;) In-process R&amp;amp;D represents the fair value of incomplete research and development. We will begin to amortize the asset upon completion of development.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Amortization expense for definite-lived intangible assets was $2.9 million and $5.7 million for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $1.9 million and $2.8 million for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. As of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the Company expects to record the following amortization expense for definite-lived intangible assets:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;For the Years Ending December 31,&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Expense&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,005&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,570&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,745&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,975&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;28,284&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;67,977&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Interim impairment testing as of &lt;em style="font: inherit;"&gt; June 30, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the Company experienced a significant decline in its market capitalization. In &lt;em style="font: inherit;"&gt; July 2022, &lt;/em&gt;the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these &lt;em style="font: inherit;"&gt;three&lt;/em&gt; events constituted interim triggering events that required further analysis with respect to potential impairment to goodwill, indefinite-lived intangibles, and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;balance sheet date.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;To assess any potential impairment of goodwill, the Company compared the carrying value of its single reporting unit against its market capitalization, noting that the market capitalization exceeded the carrying value. As such, goodwill was &lt;em style="font: inherit;"&gt;not&lt;/em&gt; impaired as of &lt;em style="font: inherit;"&gt; June 30, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The abandonment of the aforementioned in-process research and development project resulted in a $8.0 million non-cash impairment charge during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the entirety of the asset&#x2019;s carrying value.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In order to determine the fair value of our in-process research and development intangible assets &lt;em style="font: inherit;"&gt;not&lt;/em&gt; related to the abandoned project, the Company utilized an average of a discounted cash flow analysis and comparable public company analysis. The key assumptions associated with determining the estimated fair value include projected future revenue growth rates, earnings before interest, taxes, depreciation and amortization ("EBITDA") margins, the terminal growth rate, and the discount rate. As a result of the changes in these assumptions, we recognized a $50.9 million non-cash impairment charge during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#x2019;s in-process research and development intangible assets and their carrying value. The carrying value of these assets prior to the impairment charge was $59.4 million.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In order to determine the fair value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, the Company utilized the excess earnings approach, distributor method, relief from royalty method, and with and without approach, respectively. The key assumptions associated with determining the estimated fair value include (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset. As a result of the analysis, we recognized non-cash impairment charges of $3.5 million, $1.5 million, $5.9 million, and $4,000 during the period ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;for the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets, respectively, in the line item intangible asset impairment charges in the Company's Unaudited Condensed Consolidated Statements of Operations, which represents the difference between the estimated fair value of the Company&#x2019;s definite-lived intangible assets and their carrying values. The carrying value of the acquired technology, customer relationships, tradename, and non-compete definite-lived intangible assets were $31.2 million, $14.5 million, $32.0 million, and $1.3 million respectively prior to the impairment charges.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Fair value determinations require considerable judgment and are sensitive to changes in underlying assumptions, estimates and market factors. Estimating the fair value of the Company&#x2019;s reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets requires us to make assumptions and estimates regarding our future plans, as well as industry, economic, and regulatory conditions. These assumptions and estimates include projected future revenue growth rates, EBITDA margins, terminal growth rates, discount rates, royalty rates and other market factors. If current expectations of future growth rates, margins and cash flows are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; met, or if market factors outside of our control change significantly, then our reporting unit, indefinite-lived intangible assets, and definite-lived intangible assets might become impaired in the future, negatively impacting our operating results and financial position. As the carrying amounts of the Company&#x2019;s indefinite-lived and definite-lived intangible assets were impaired as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and written down to fair value, those amounts are more susceptible to an impairment risk if there are unfavorable changes in assumptions and estimates.&lt;/p&gt;
  </us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c0C158769-F555-43B6-BAD7-2BB22A5C6164">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except weighted average useful life)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Intangible assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accumulated Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Net Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Weighted Average Useful Life (in years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer Relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,984&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,976&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13,008&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,635&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(3,571&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,064&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13.3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Technology - acquired&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;38,410&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(10,766&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,644&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,986&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(725&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,261&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.5&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&#x207d;&#xb9;&#x207e;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,562&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(18,038&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;76,524&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9.2&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except weighted average useful life)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Intangible assets:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Gross Carrying Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Accumulated&lt;br/&gt; Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Net Carrying&lt;br/&gt; Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Weighted&lt;br/&gt; Average Useful&lt;br/&gt; Life (in years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer Relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,776&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,740&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10.3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35,574&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(2,306&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33,268&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;13.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Technology - acquired&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;41,942&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7,789&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,153&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.9&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,990&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(442&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,548&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.0&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&#x207d;&#xb9;&#x207e;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;164,462&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(12,313&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;152,149&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9.8&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201379"
      unitRef="USD">15984000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201380"
      unitRef="USD">2976000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201381"
      unitRef="USD">13008000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember"
      id="c86201382">P9Y9M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201383"
      unitRef="USD">29635000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201384"
      unitRef="USD">3571000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201385"
      unitRef="USD">26064000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember"
      id="c86201386">P13Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-4"
      id="c86201387"
      unitRef="USD">38410000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="c86201388"
      unitRef="USD">10766000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="c86201389"
      unitRef="USD">27644000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember"
      id="c86201390">P5Y4M24D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c86201391"
      unitRef="USD">1986000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c86201392"
      unitRef="USD">725000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c86201393"
      unitRef="USD">1261000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember"
      id="c86201394">P2Y6M</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"
      decimals="-3"
      id="c86201395"
      unitRef="USD">8547000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"
      decimals="-3"
      id="c86201397"
      unitRef="USD">8547000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201399"
      unitRef="USD">94562000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201400"
      unitRef="USD">18038000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201401"
      unitRef="USD">76524000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-06-30_RangeAxis-WeightedAverageMember"
      id="c86201402">P9Y2M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201403"
      unitRef="USD">17516000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201404"
      unitRef="USD">1776000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-4"
      id="c86201405"
      unitRef="USD">15740000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-WeightedAverageMember"
      id="c86201406">P10Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201407"
      unitRef="USD">35574000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201408"
      unitRef="USD">2306000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201409"
      unitRef="USD">33268000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-WeightedAverageMember"
      id="c86201410">P13Y9M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="c86201411"
      unitRef="USD">41942000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="c86201412"
      unitRef="USD">7789000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="c86201413"
      unitRef="USD">34153000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember_RangeAxis-WeightedAverageMember"
      id="c86201414">P5Y10M24D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c86201415"
      unitRef="USD">1990000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c86201416"
      unitRef="USD">442000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c86201417"
      unitRef="USD">1548000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-01-01_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-WeightedAverageMember"
      id="c86201418">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"
      decimals="-4"
      id="c86201419"
      unitRef="USD">67440000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"
      decimals="-3"
      id="c86201420"
      unitRef="USD">-0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember"
      decimals="-4"
      id="c86201421"
      unitRef="USD">67440000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201423"
      unitRef="USD">164462000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201424"
      unitRef="USD">12313000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201425"
      unitRef="USD">152149000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-01-01_2021-12-31_RangeAxis-WeightedAverageMember"
      id="c86201426">P9Y9M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c86201350"
      unitRef="USD">2900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86201351"
      unitRef="USD">5700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-5"
      id="c86201354"
      unitRef="USD">1900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-5"
      id="c86201355"
      unitRef="USD">2800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171289">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amortization&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;For the Years Ending December 31,&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Expense&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,005&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,570&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,745&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,975&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;28,284&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;67,977&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201427"
      unitRef="USD">5005000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c86201428"
      unitRef="USD">9570000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201429"
      unitRef="USD">8745000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201430"
      unitRef="USD">8398000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201431"
      unitRef="USD">7975000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <blfs:FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201432"
      unitRef="USD">28284000</blfs:FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201433"
      unitRef="USD">67977000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-AbandonedInProcessResearchAndDevelopmentMember"
      decimals="-6"
      id="c86201361"
      unitRef="USD">8000000.0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-01-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember"
      decimals="-5"
      id="c86201364"
      unitRef="USD">50900000</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember"
      decimals="-5"
      id="c86201366"
      unitRef="USD">59400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-5"
      id="c86201368"
      unitRef="USD">3500000</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-5"
      id="c86201369"
      unitRef="USD">1500000</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-5"
      id="c86201370"
      unitRef="USD">5900000</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="INF"
      id="c86201371"
      unitRef="USD">4000</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TechnologyBasedIntangibleAssetsMember"
      decimals="-5"
      id="c86201372"
      unitRef="USD">31200000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-5"
      id="c86201373"
      unitRef="USD">14500000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-6"
      id="c86201374"
      unitRef="USD">32000000.0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-03-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-5"
      id="c86201375"
      unitRef="USD">1300000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171290">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;9.&lt;/em&gt; Accrued expenses and other current liabilities&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Accrued expenses and other current liabilities consist of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued compensation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,638&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,351&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued expenses&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,954&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,656&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred revenue, current&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;431&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;814&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued taxes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;131&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;294&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total accrued expenses and other current liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,187&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,142&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:OtherCurrentLiabilitiesTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171291">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued compensation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,638&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,351&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued expenses&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,954&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,656&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred revenue, current&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;431&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;814&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accrued taxes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;131&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;294&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total accrued expenses and other current liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,187&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,142&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:OtherCurrentLiabilitiesTableTextBlock>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201435"
      unitRef="USD">4638000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201436"
      unitRef="USD">4351000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201437"
      unitRef="USD">1954000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201438"
      unitRef="USD">1656000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201439"
      unitRef="USD">431000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201440"
      unitRef="USD">814000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201441"
      unitRef="USD">33000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201442"
      unitRef="USD">27000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201443"
      unitRef="USD">131000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201444"
      unitRef="USD">294000</us-gaap:OtherLiabilitiesCurrent>
    <blfs:AccruedExpensesAndOtherCurrentLiabilities
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201445"
      unitRef="USD">7187000</blfs:AccruedExpensesAndOtherCurrentLiabilities>
    <blfs:AccruedExpensesAndOtherCurrentLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201446"
      unitRef="USD">7142000</blfs:AccruedExpensesAndOtherCurrentLiabilities>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171292">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;10.&lt;/em&gt; Warranty reserve liability&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We reserve estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;A rollforward of our warranty liability is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;212&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Warranty reserve acquired in the acquisition of Global Cooling&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,353&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Provision for warranties&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,514&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;610&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Settlements of warranty claims&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,190&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(761&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending Balance&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,722&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,414&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171293">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,398&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;212&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Warranty reserve acquired in the acquisition of Global Cooling&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,353&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Provision for warranties&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,514&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;610&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Settlements of warranty claims&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(2,190&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(761&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending Balance&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,722&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,414&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201448"
      unitRef="USD">9398000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c86201449"
      unitRef="USD">212000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201450"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition>
    <us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201451"
      unitRef="USD">3353000</us-gaap:ProductWarrantyAccrualAdditionsFromBusinessAcquisition>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201452"
      unitRef="USD">1514000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-4"
      id="c86201453"
      unitRef="USD">610000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86201454"
      unitRef="USD">2190000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201455"
      unitRef="USD">761000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201456"
      unitRef="USD">8722000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2021-06-30"
      decimals="-3"
      id="c86201457"
      unitRef="USD">3414000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LongTermDebtTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171294">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;11.&lt;/em&gt; Long-term debt&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Long-term debt consisted of the following as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 42.1%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 12.9%; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;Maturity Date&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Interest Rate&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 term loan 1&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Sep-24&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,750&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,750&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 term loan 2&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,896&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,813&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Insurance premium financing&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Apr-23&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;869&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;373&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Freezer equipment loan&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Dec-25&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;537&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;612&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Manufacturing equipment loans&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Oct-25&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;311&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;355&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Freezer installation loan&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,208&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,334&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other loans&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total debt, excluding unamortized debt issuance costs&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,578&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,246&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Less: unamortized debt issuance costs&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(31&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total debt&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Less: current portion&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,363&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(862&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total long-term debt&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,188&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,353&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; term loans are secured by substantially all assets of Global Cooling. Equipment loans are secured by the financed equipment.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the scheduled maturities of loans payable for each of the next &lt;em style="font: inherit;"&gt;five&lt;/em&gt; years and thereafter were as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;759&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,165&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,294&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;221&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,596&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total debt, excluding unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,578&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Less: unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total debt&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171295">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 42.1%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 12.9%; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;Maturity Date&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Interest Rate&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 term loan 1&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Sep-24&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,750&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,750&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 term loan 2&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,896&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,813&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Insurance premium financing&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Apr-23&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;869&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;373&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Freezer equipment loan&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Dec-25&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;537&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;612&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Manufacturing equipment loans&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Oct-25&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;311&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;355&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Freezer installation loan&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,208&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,334&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other loans&lt;/p&gt; &lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;em style="font: inherit;"&gt;Various&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total debt, excluding unamortized debt issuance costs&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,578&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,246&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Less: unamortized debt issuance costs&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(31&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total debt&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,551&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,215&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Less: current portion&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,363&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(862&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td colspan="2" style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;em style="font: inherit;"&gt;Total long-term debt&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,188&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,353&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member"
      decimals="2"
      id="c86201464"
      unitRef="Pure">0.040</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member"
      decimals="-4"
      id="c86201465"
      unitRef="USD">1750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan1Member"
      decimals="-4"
      id="c86201466"
      unitRef="USD">1750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member"
      decimals="2"
      id="c86201468"
      unitRef="Pure">0.040</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-The2022TermLoan2Member"
      decimals="-3"
      id="c86201469"
      unitRef="USD">2896000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-The2022TermLoan2Member"
      decimals="-3"
      id="c86201470"
      unitRef="USD">2813000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"
      decimals="2"
      id="c86201472"
      unitRef="Pure">0.050</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-FinancedInsurancePremiumMember"
      decimals="-3"
      id="c86201473"
      unitRef="USD">869000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-FinancedInsurancePremiumMember"
      decimals="-3"
      id="c86201474"
      unitRef="USD">373000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember"
      decimals="3"
      id="c86201476"
      unitRef="Pure">0.057</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerEquipmentLoanMember"
      decimals="-3"
      id="c86201477"
      unitRef="USD">537000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-FreezerEquipmentLoanMember"
      decimals="-3"
      id="c86201478"
      unitRef="USD">612000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember"
      decimals="3"
      id="c86201480"
      unitRef="Pure">0.057</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-ManufacturingEquipmentLoansMember"
      decimals="-3"
      id="c86201481"
      unitRef="USD">311000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-ManufacturingEquipmentLoansMember"
      decimals="-3"
      id="c86201482"
      unitRef="USD">355000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember"
      decimals="3"
      id="c86201484"
      unitRef="Pure">0.063</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-FreezerInstallationLoanMember"
      decimals="-3"
      id="c86201485"
      unitRef="USD">1208000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-FreezerInstallationLoanMember"
      decimals="-3"
      id="c86201486"
      unitRef="USD">1334000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30_DebtInstrumentAxis-OtherLoansMember"
      decimals="-3"
      id="c86201489"
      unitRef="USD">7000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_DebtInstrumentAxis-OtherLoansMember"
      decimals="-3"
      id="c86201490"
      unitRef="USD">9000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201493"
      unitRef="USD">7578000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201494"
      unitRef="USD">7246000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201497"
      unitRef="USD">27000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201498"
      unitRef="USD">31000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201501"
      unitRef="USD">7551000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201502"
      unitRef="USD">7215000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201505"
      unitRef="USD">1363000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201506"
      unitRef="USD">862000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201509"
      unitRef="USD">6188000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c86201510"
      unitRef="USD">6353000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171296">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2022 (6 months remaining)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;759&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,165&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,294&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;221&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,596&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total debt, excluding unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,578&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Less: unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total debt&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;7,551&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201511"
      unitRef="USD">759000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201512"
      unitRef="USD">1165000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201513"
      unitRef="USD">2294000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201514"
      unitRef="USD">543000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201515"
      unitRef="USD">221000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <blfs:LongtermDebtMaturityAfterYearFour
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201516"
      unitRef="USD">2596000</blfs:LongtermDebtMaturityAfterYearFour>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201517"
      unitRef="USD">7578000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201518"
      unitRef="USD">27000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c86201519"
      unitRef="USD">7551000</us-gaap:LongTermDebt>
    <blfs:WarrantsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171297">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;12.&lt;/em&gt; Warrants&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; March 2014, &lt;/em&gt;pursuant to a registered public offering and note conversion agreement with certain note holders, the Company issued warrants to purchase 6,910,283 shares of common stock at $4.75 per share. The warrants had an original expiration date of &lt;em style="font: inherit;"&gt; March 2021.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; May 2016, &lt;/em&gt;in connection with a credit facility, the Company issued a warrant to purchase 550,000 shares of common stock at $1.75 per share. The warrant was immediately exercisable and had an original expiration date of &lt;em style="font: inherit;"&gt; May 2021.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; May 2020, &lt;/em&gt;the Company entered into separate warrant exercise agreements with WAVI Holding AG and &lt;em style="font: inherit;"&gt;Taurus4757&lt;/em&gt; GmbH pursuant to which the warrant holders immediately exercised their respective warrants via a &#x201c;cashless&#x201d; exercise as agreed to by the Company. As a result of the cashless exercise, the Company issued an aggregate of 2,747,970 shares of Company common stock upon cashless exercise of an aggregate of 3,871,405 warrants.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; March 2021, &lt;/em&gt;all remaining outstanding warrants were exercised via a &#x201c;cashless&#x201d; exercise. As a result of the cashless exercise, the Company issued an aggregate of 70,030 shares of Company common stock upon cashless exercise of an aggregate of 79,100 warrants.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table summarizes warrant activity for the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="7" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="5" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;79,100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </blfs:WarrantsTextBlock>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember"
      decimals="INF"
      id="c86201521"
      unitRef="Share">6910283</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember"
      decimals="INF"
      id="c86201522"
      unitRef="USDPerShare">4.75</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember"
      decimals="INF"
      id="c86201523"
      unitRef="Share">550000</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2016-05-31_ClassOfWarrantOrRightAxis-WarrantsInConnectionWithWaviCreditFacilityMember"
      decimals="INF"
      id="c86201524"
      unitRef="USDPerShare">1.75</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises
      contextRef="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember"
      decimals="INF"
      id="c86201526"
      unitRef="Share">2747970</blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriod
      contextRef="d_2020-05-14_2020-05-14_ClassOfWarrantOrRightAxis-WaviHoldingAgAndTaurus4757GmbhWarrantsMember"
      decimals="INF"
      id="c86201527"
      unitRef="Share">3871405</blfs:ClassOfWarrantOrRightExercisedDuringPeriod>
    <blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises
      contextRef="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember"
      decimals="INF"
      id="c86201528"
      unitRef="Share">70030</blfs:StockIssuedDuringPeriodSharesCashlessWarrantExercises>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriod
      contextRef="d_2021-03-25_2021-03-25_ClassOfWarrantOrRightAxis-WarrantsExercisedMember"
      decimals="INF"
      id="c86201529"
      unitRef="Share">79100</blfs:ClassOfWarrantOrRightExercisedDuringPeriod>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171298">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="7" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="5" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Beginning balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;79,100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,100&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Ending balance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86201534"
      unitRef="Share">0</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c86201535"
      unitRef="USDPerShare">0</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c86201536"
      unitRef="Share">79100</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c86201537"
      unitRef="USDPerShare">4.75</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriod
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86201538"
      unitRef="Share">-0</blfs:ClassOfWarrantOrRightExercisedDuringPeriod>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86201539"
      unitRef="USDPerShare">0</blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriod
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86201540"
      unitRef="Share">79100</blfs:ClassOfWarrantOrRightExercisedDuringPeriod>
    <blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86201541"
      unitRef="USDPerShare">4.75</blfs:ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86201542"
      unitRef="Share">0</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2022-06-30"
      decimals="INF"
      id="c86201543"
      unitRef="USDPerShare">0</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i_2021-06-30"
      decimals="INF"
      id="c86201544"
      unitRef="Share">0</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i_2021-06-30"
      decimals="INF"
      id="c86201545"
      unitRef="USDPerShare">0</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171299">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;13.&lt;/em&gt; Revenue&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;To determine revenue recognition for contractual arrangements that we determine are within the scope of Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Topic &lt;em style="font: inherit;"&gt;606,&lt;/em&gt; &lt;i&gt;Revenue from Contracts with Customers&lt;/i&gt;, we perform the following &lt;em style="font: inherit;"&gt;five&lt;/em&gt; steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the &lt;em style="font: inherit;"&gt;five&lt;/em&gt;-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers &lt;em style="font: inherit;"&gt; may &lt;/em&gt;contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within &lt;em style="font: inherit;"&gt;30&lt;/em&gt; to &lt;em style="font: inherit;"&gt;90&lt;/em&gt; days. During the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;the Company recognized approximately $382,000 and $456,000, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph &lt;em style="font: inherit;"&gt;606&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10&lt;/em&gt;-&lt;em style="font: inherit;"&gt;32&lt;/em&gt;-&lt;em style="font: inherit;"&gt;18,&lt;/em&gt; the Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year or less. &lt;em style="font: inherit;"&gt;None&lt;/em&gt; of the Company&#x2019;s contracts contained a significant financing component as of and during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its storage and storage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; within the scope of FASB ASC Topic &lt;em style="font: inherit;"&gt;606&lt;/em&gt; as it is within the scope of FASB ASC Topic &lt;em style="font: inherit;"&gt;842,&lt;/em&gt;&lt;i&gt; Lease&lt;/i&gt;s. All customers leasing shippers currently do so under month-to-month rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company enters into various customer service agreements (collectively, &#x201c;Service Contracts&#x201d;) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of &lt;em style="font: inherit;"&gt;one&lt;/em&gt; customer. This is primarily driven by the customer&#x2019;s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements &lt;em style="font: inherit;"&gt; may &lt;/em&gt;include extension and termination clauses. These Service Contracts do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; allow for customers to purchase the underlying assets.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (&#x201c;Embedded Leases&#x201d;), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company&#x2019;s property, plant, and equipment or operating right-of-use assets.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Under ASC &lt;em style="font: inherit;"&gt;842,&lt;/em&gt; consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;em style="font: inherit;"&gt;None&lt;/em&gt; of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. &lt;em style="font: inherit;"&gt;None&lt;/em&gt; of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Embedded Leases &lt;em style="font: inherit;"&gt; may &lt;/em&gt;contain both lease and non-lease components. We have elected to utilize the practical expedient to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company&#x2019;s rental arrangements include reimbursements of lessor costs.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total bioproduction tools and services revenue for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; were comprised of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except percentages)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Product revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Freezer and thaw&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,670&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,564&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,005&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,411&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Cell processing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,356&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,699&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;30,254&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,626&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;144&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;205&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;299&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;207&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Service revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,698&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,963&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,787&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,167&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Rental revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,665&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,773&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;5,407&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,640&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;40,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;31,204&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;76,752&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;48,051&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table includes estimated rental revenue expected to be recognized in the future related to embedded leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing &lt;em style="font: inherit;"&gt;not&lt;/em&gt; to disclose the value of the remaining unsatisfied performance obligation with a duration of &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year or less as permitted by the practical expedient in ASU &lt;em style="font: inherit;"&gt;2014&lt;/em&gt;-&lt;em style="font: inherit;"&gt;09,&lt;/em&gt; &lt;i&gt;Revenue from Contracts with Customers&lt;/i&gt;. The estimated revenue in the following table does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; include contracts with the original durations of &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of &lt;em style="font: inherit;"&gt; June 30, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Year Ending December 31,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022 (6 months&lt;br/&gt; remaining)&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Rental revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,901&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203881"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,735&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203883"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;900&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203885"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,536&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Service revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;151&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203888"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;188&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203890"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203892"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;349&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86201555"
      unitRef="USD">382000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86201556"
      unitRef="USD">456000</us-gaap:DeferredRevenueRevenueRecognized1>
    <blfs:RevenuesByProductLineTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171300">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except percentages)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Product revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Freezer and thaw&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,670&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;17,564&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,005&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22,411&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Cell processing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,356&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,699&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;30,254&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,626&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;144&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;205&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;299&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;207&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Service revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,698&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,963&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,787&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,167&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Rental revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Storage and storage services&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,665&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,773&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;5,407&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,640&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;40,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;31,204&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;76,752&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;48,051&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </blfs:RevenuesByProductLineTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"
      decimals="-4"
      id="c86201585"
      unitRef="USD">18670000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"
      decimals="-3"
      id="c86201586"
      unitRef="USD">17564000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"
      decimals="-3"
      id="c86201587"
      unitRef="USD">34005000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember"
      decimals="-3"
      id="c86201588"
      unitRef="USD">22411000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember"
      decimals="-3"
      id="c86201589"
      unitRef="USD">15356000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember"
      decimals="-3"
      id="c86201590"
      unitRef="USD">9699000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductCellProcessingMember"
      decimals="-3"
      id="c86201591"
      unitRef="USD">30254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-ProductCellProcessingMember"
      decimals="-3"
      id="c86201592"
      unitRef="USD">18626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"
      decimals="-3"
      id="c86201593"
      unitRef="USD">144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"
      decimals="-3"
      id="c86201594"
      unitRef="USD">205000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"
      decimals="-3"
      id="c86201595"
      unitRef="USD">299000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesProductRevenueMember"
      decimals="-3"
      id="c86201596"
      unitRef="USD">207000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"
      decimals="-3"
      id="c86201598"
      unitRef="USD">3698000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"
      decimals="-3"
      id="c86201599"
      unitRef="USD">1963000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"
      decimals="-3"
      id="c86201600"
      unitRef="USD">6787000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesServiceRevenueMember"
      decimals="-3"
      id="c86201601"
      unitRef="USD">4167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"
      decimals="-3"
      id="c86201603"
      unitRef="USD">2665000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"
      decimals="-3"
      id="c86201604"
      unitRef="USD">1773000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"
      decimals="-3"
      id="c86201605"
      unitRef="USD">5407000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30_ProductOrServiceAxis-StorageAndStorageServicesRentalRevenueMember"
      decimals="-4"
      id="c86201606"
      unitRef="USD">2640000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86201607"
      unitRef="USD">40533000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86201608"
      unitRef="USD">31204000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201609"
      unitRef="USD">76752000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201610"
      unitRef="USD">48051000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171367">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Year Ending December 31,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022 (6 months&lt;br/&gt; remaining)&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Rental revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,901&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203881"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,735&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203883"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;900&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203885"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8,536&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Service revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;151&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203888"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;188&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203890"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86203892"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;349&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"
      decimals="-3"
      id="c86203880"
      unitRef="USD">3901000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      decimals="-3"
      id="c86203882"
      unitRef="USD">3735000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      decimals="-5"
      id="c86203884"
      unitRef="USD">900000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember"
      decimals="-3"
      id="c86203886"
      unitRef="USD">8536000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01"
      decimals="-3"
      id="c86203887"
      unitRef="USD">151000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      decimals="-3"
      id="c86203889"
      unitRef="USD">188000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      decimals="-4"
      id="c86203891"
      unitRef="USD">10000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-06-30_ProductOrServiceAxis-ServiceRevenueMember"
      decimals="-3"
      id="c86203893"
      unitRef="USD">349000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171302">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;14.&lt;/em&gt;&lt;/b&gt; &lt;b&gt;Share-based compensation &lt;/b&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Service vesting-based stock options&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following is a summary of service vesting-based stock option activity for the &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;and the status of service vesting-based stock options outstanding as of &lt;em style="font: inherit;"&gt; June 30, 2022:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;624,531&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.13&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(154,504&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.95&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;470,027&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Stock options exercisable as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;470,027&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recognized stock compensation expense related to service-based options of &lt;span style="-sec-ix-hidden:c86201627"&gt;zero&lt;/span&gt; during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and $6,000 and $15,000 during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. As of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;there was $5.5 million of aggregate intrinsic value of outstanding and exercisable service vesting-based stock options. Intrinsic value is the total pretax intrinsic value for all &#x201c;in-the-money&#x201d; options (i.e., the difference between the Company&#x2019;s closing stock price on the last trading day of the year and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on &lt;em style="font: inherit;"&gt; June 30, 2022. &lt;/em&gt;This amount will change based on the fair market value of the Company&#x2019;s stock. Intrinsic value of service vesting-based awards exercised was $390,000 and $3.9 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $475,000 and $3.8 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. There were no service based-vesting options granted during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022. &lt;/em&gt;The weighted average remaining contractual life of service vesting-based options outstanding and exercisable as of &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;is 3.3 years. There were no unrecognized compensation costs for service vesting-based stock options as of &lt;em style="font: inherit;"&gt; June 30, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Performance-based stock options&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c86201650"&gt;No&lt;/span&gt; stock compensation expense was recognized during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; related to performance-based options. There were no performance-based stock options exercised in the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022. &lt;/em&gt;The intrinsic value of performance-based awards exercised was $6.9 million and $9.8 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; respectively. There were no stock options granted to employees and non-employee directors in the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Restricted stock&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Service vesting-based restricted stock&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following is a summary of service vesting-based restricted stock activity for the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;and the status of unvested service vesting-based restricted stock outstanding as of &lt;em style="font: inherit;"&gt; June 30, 2022:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg. Grant Date Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,212,783&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37.48&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;372,069&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;23.72&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(282,317&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34.65&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(55,802&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;45.38&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-vested as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,246,733&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;33.65&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The aggregate fair value of the service vesting-based awards granted was $883,000 and $8.8 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $2.4 million and $4.6 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. The aggregate fair value of the service vesting-based awards that vested was $2.0 million and $7.0 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $2.5 million and $5.2 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recognized stock compensation expense related to service vesting-based awards of $4.7 million and $9.4 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $2.1 million and $3.5 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. As of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;there was $35.8 million in unrecognized compensation costs related to service vesting-based awards. We expect to recognize those costs over 2.7 years.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Market-based restricted stock&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following is a summary of market-based restricted stock activity under our stock option plan for the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and the status of market-based restricted stock outstanding as of &lt;em style="font: inherit;"&gt; June 30, 2022:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Grant Date&lt;br/&gt; Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;139,756&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;19.86&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;349,568&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22.66&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(218,280&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10.95&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-vested as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;271,044&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;30.64&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; March 25, 2020, &lt;/em&gt;the Company granted 109,140 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on Total Shareholder Return (&#x201c;TSR&#x201d;). The TSR market condition measures the Company&#x2019;s performance against a peer group. On &lt;em style="font: inherit;"&gt; February 24, 2022, &lt;/em&gt;the Company&#x2019;s Compensation Committee determined the TSR attainment was 200% of the targeted shares and 218,280 shares were granted and immediately vested to the executives of the Company based on our total shareholder return during the period beginning on &lt;em style="font: inherit;"&gt; January 1, 2020 &lt;/em&gt;through &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;as compared to the total shareholder return of &lt;em style="font: inherit;"&gt;20&lt;/em&gt; of our peers. The fair value of this award was determined at the grant date using a Monte Carlo simulation with the following assumptions: a historical volatility of 78%, 0% dividend yield and a risk-free interest rate of 0.3%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a &lt;em style="font: inherit;"&gt;0%&lt;/em&gt; dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the &lt;em style="font: inherit;"&gt;2&lt;/em&gt;-year term associated with the market condition of the award. The fair value of this award of $1.2 million was expensed on a straight-line basis over the grant date to the vesting date of &lt;em style="font: inherit;"&gt; December 31, 2021.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; February 8, 2021, &lt;/em&gt;the Company granted 30,616 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#x2019;s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on &lt;em style="font: inherit;"&gt; January 1, 2021 &lt;/em&gt;through &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;as compared to the total shareholder return of &lt;em style="font: inherit;"&gt;20&lt;/em&gt; of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 68%, 0% dividend yield and a risk-free interest rate of 0.1%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a &lt;em style="font: inherit;"&gt;0%&lt;/em&gt; dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $1.3 million is being expensed on a straight-line basis over the grant date to the vesting date of &lt;em style="font: inherit;"&gt; December 31, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; February 24, 2022, &lt;/em&gt;the Company granted 240,428 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company&#x2019;s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our total shareholder return during the period beginning on &lt;em style="font: inherit;"&gt; January 1, 2022 &lt;/em&gt;through &lt;em style="font: inherit;"&gt; December 31, 2023 &lt;/em&gt;as compared to the total shareholder return of &lt;em style="font: inherit;"&gt;20&lt;/em&gt; of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 63%, 0% dividend yield and a risk-free interest rate of 1.5%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a &lt;em style="font: inherit;"&gt;0%&lt;/em&gt; dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.7 million is being expensed on a straight-line basis over the grant date to the vesting date of &lt;em style="font: inherit;"&gt; December 31, 2023.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recognized stock compensation expense of $1.2 million and $1.8 million related to market-based restricted stock awards for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $441,000 and $726,000 during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. As of &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;there was $5.7 million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over 1.4 years.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The aggregate fair value of the market-based awards granted was &lt;span style="-sec-ix-hidden:c86201745"&gt;zero&lt;/span&gt; and $6.7 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $261,000 and $1.8 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively. The aggregate fair value of the market-based awards that vested was &lt;span style="-sec-ix-hidden:c86201753"&gt;zero&lt;/span&gt; and $5.0 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and &lt;span style="-sec-ix-hidden:c86201757"&gt;zero&lt;/span&gt; and $10.2 million during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;i&gt;Total stock compensation expense&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recorded total stock compensation expense for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Research and development costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;714&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;437&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,391&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Sales and marketing costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;738&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;269&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,443&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;453&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;General and administrative costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,719&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,667&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,729&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,646&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cost of revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;802&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;147&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,809&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;305&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,973&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,520&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;11,372&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,024&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171303">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Exercise Price&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;624,531&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.13&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(154,504&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.95&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;470,027&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Stock options exercisable as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;470,027&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201819"
      unitRef="Share">624531</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201820"
      unitRef="USDPerShare">2.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201821"
      unitRef="Share">154504</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201822"
      unitRef="USDPerShare">1.95</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201823"
      unitRef="Share">470027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201824"
      unitRef="USDPerShare">2.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201825"
      unitRef="Share">470027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201826"
      unitRef="USDPerShare">2.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201631"
      unitRef="USD">6000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201632"
      unitRef="USD">15000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-5"
      id="c86201635"
      unitRef="USD">5500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201636"
      unitRef="USD">390000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-5"
      id="c86201637"
      unitRef="USD">3900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86201640"
      unitRef="USD">475000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-5"
      id="c86201641"
      unitRef="USD">3800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c86201644"
      unitRef="Share">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      id="c86201648">P3Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c86201649"
      unitRef="USD">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"
      decimals="-3"
      id="c86201657"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"
      decimals="-5"
      id="c86201661"
      unitRef="USD">6900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"
      decimals="-5"
      id="c86201662"
      unitRef="USD">9800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember_PlanNameAxis-ManagementPerformanceBonusPlan2017Member"
      decimals="-3"
      id="c86201666"
      unitRef="Share">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c66A80E06-BAF5-4A36-A79E-9965EC61D886">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg. Grant Date Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,212,783&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37.48&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;372,069&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;23.72&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(282,317&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34.65&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(55,802&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;45.38&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-vested as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,246,733&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;33.65&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Wtd. Avg.&lt;br/&gt; Grant Date&lt;br/&gt; Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Outstanding as of beginning of year&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;139,756&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;19.86&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;349,568&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;22.66&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(218,280&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10.95&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-vested as of June 30, 2022&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;271,044&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;30.64&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2021-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201827"
      unitRef="Share">1212783</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2021-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201828"
      unitRef="USDPerShare">37.48</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201829"
      unitRef="Share">372069</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201830"
      unitRef="USDPerShare">23.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201831"
      unitRef="Share">282317</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201832"
      unitRef="USDPerShare">34.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201833"
      unitRef="Share">55802</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201834"
      unitRef="USDPerShare">45.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201835"
      unitRef="Share">1246733</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201836"
      unitRef="USDPerShare">33.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86201674"
      unitRef="USD">883000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201675"
      unitRef="USD">8800000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201678"
      unitRef="USD">2400000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201679"
      unitRef="USD">4600000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-6"
      id="c86201682"
      unitRef="USD">2000000.0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-6"
      id="c86201683"
      unitRef="USD">7000000.0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201686"
      unitRef="USD">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201687"
      unitRef="USD">5200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201690"
      unitRef="USD">4700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201691"
      unitRef="USD">9400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201694"
      unitRef="USD">2100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201695"
      unitRef="USD">3500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="-5"
      id="c86201698"
      unitRef="USD">35800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      id="c86201699">P2Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201837"
      unitRef="Share">139756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2021-12-31_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201838"
      unitRef="USDPerShare">19.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201839"
      unitRef="Share">349568</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201840"
      unitRef="USDPerShare">22.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201841"
      unitRef="Share">218280</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201842"
      unitRef="USDPerShare">10.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201843"
      unitRef="Share">271044</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201844"
      unitRef="USDPerShare">30.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"
      decimals="INF"
      id="c86201702"
      unitRef="Share">109140</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"
      decimals="0"
      id="c86201703"
      unitRef="Pure">2</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201704"
      unitRef="Share">218280</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="2"
      id="c86201706"
      unitRef="Pure">0.78</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201707"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="3"
      id="c86201708"
      unitRef="Pure">0.003</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201709">P2Y</blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2020-03-25_2020-03-25_AwardTypeAxis-MarketbasedRestrictedStockSecondIssuanceMember"
      decimals="-5"
      id="c86201712"
      unitRef="USD">1200000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"
      decimals="INF"
      id="c86201713"
      unitRef="Share">30616</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember"
      decimals="-3"
      id="c86201714"
      unitRef="Pure">0</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"
      decimals="0"
      id="c86201715"
      unitRef="Pure">2</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="2"
      id="c86201717"
      unitRef="Pure">0.68</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201718"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="3"
      id="c86201719"
      unitRef="Pure">0.001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201720">P2Y</blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod>
    <blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201722">P2Y</blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2021-02-08_2021-02-08_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201723"
      unitRef="USD">1300000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_TitleOfIndividualAxis-ExecutiveOfficerMember"
      decimals="INF"
      id="c86201724"
      unitRef="Share">240428</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MinimumMember"
      decimals="-3"
      id="c86201725"
      unitRef="Pure">0</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember_RangeAxis-MaximumMember"
      decimals="0"
      id="c86201726"
      unitRef="Pure">2</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="2"
      id="c86201728"
      unitRef="Pure">0.63</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-3"
      id="c86201729"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="3"
      id="c86201730"
      unitRef="Pure">0.015</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201731">P2Y</blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod>
    <blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201733">P2Y</blfs:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue
      contextRef="d_2022-02-24_2022-02-24_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201734"
      unitRef="USD">6700000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201735"
      unitRef="USD">1200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201736"
      unitRef="USD">1800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201739"
      unitRef="USD">441000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201740"
      unitRef="USD">726000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201743"
      unitRef="USD">5700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      id="c86201744">P1Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201746"
      unitRef="USD">6700000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="INF"
      id="c86201749"
      unitRef="USD">261000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue>
    <blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201750"
      unitRef="USD">1800000</blfs:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-6"
      id="c86201754"
      unitRef="USD">5000000.0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-MarketbasedRestrictedStockMember"
      decimals="-5"
      id="c86201758"
      unitRef="USD">10200000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171306">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Research and development costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;714&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;437&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,391&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Sales and marketing costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;738&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;269&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,443&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;453&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;General and administrative costs&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,719&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,667&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,729&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,646&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cost of revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;802&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;147&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,809&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;305&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,973&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,520&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;11,372&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,024&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="c86201845"
      unitRef="USD">714000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="c86201846"
      unitRef="USD">437000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="c86201847"
      unitRef="USD">1391000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-4"
      id="c86201848"
      unitRef="USD">620000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c86201849"
      unitRef="USD">738000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c86201850"
      unitRef="USD">269000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c86201851"
      unitRef="USD">1443000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c86201852"
      unitRef="USD">453000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c86201853"
      unitRef="USD">3719000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c86201854"
      unitRef="USD">1667000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c86201855"
      unitRef="USD">6729000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c86201856"
      unitRef="USD">2646000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c86201857"
      unitRef="USD">802000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-03-31_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c86201858"
      unitRef="USD">147000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c86201859"
      unitRef="USD">1809000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c86201860"
      unitRef="USD">305000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-03-31"
      decimals="-3"
      id="c86201861"
      unitRef="USD">5973000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-03-31"
      decimals="-4"
      id="c86201862"
      unitRef="USD">2520000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86201863"
      unitRef="USD">11372000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86201864"
      unitRef="USD">4024000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171307">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;15.&lt;/em&gt; Acquisitions&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Sexton acquisition &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;General terms and effects&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; August 9, 2021, &lt;/em&gt;BioLife entered into an Agreement and Plan of Merger (the &#x201c;Sexton Merger Agreement&#x201d;) with BLFS Merger Sub, Inc., a Delaware corporation (&#x201c;Sexton Merger Sub&#x201d;), Fortis Advisors LLC, in its capacity as the representative of the stockholders of Sexton (the &#x201c;Sexton Seller Representative&#x201d;) and Sexton, a Delaware corporation. The acquisition strengthens BioLife&#x2019;s offerings in the cell and gene therapy and broader biopharma markets.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; September 1, 2021, &lt;/em&gt;the Company completed the merger of Sexton Merger Sub with and into Sexton and Sexton became a wholly-owned subsidiary of the Company (the &#x201c;Sexton Merger&#x201d;). As consideration for the Sexton Merger (the &#x201c;Sexton Merger Consideration&#x201d;), holders of common stock, preferred stock and options of Sexton, other than the Company (collectively, the &#x201c;Sexton Participating Holders&#x201d;), are entitled to receive an aggregate of 530,502 newly issued shares of the Company&#x2019;s common stock, subject to certain post-closing adjustments, of which 477,452 shares of Common Stock were issued to the Sexton Participating Holders at the Closing, and 53,050 shares of Common Stock, or approximately 10% of the Merger consideration, were deposited into an escrow account for indemnification and post-closing purchase price adjustment purposes. Prior to the merger, the Company held preferred stock in Sexton, which was accounted for using a measurement alternative that measures the securities at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar investments of the same issuer. The Company accounted for the merger as a step acquisition, which required remeasurement of the Company&#x2019;s existing ownership in Sexton to fair value prior to completing the acquisition method of accounting. Using step acquisition accounting, the Company increased the value of its existing equity interest to its fair value, resulting in the recognition of a non-cash gain of $6.5 million. The Company utilized a market-based valuation approach to determine the fair value of the existing equity interest based on the total merger consideration offered and the Company&#x2019;s stock price at acquisition.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total consideration transferred (in thousands, except number of shares and stock price):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;530,502&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife stock price (as of September 1, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;60.50&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Value of issued shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,095&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Fair value of BioLife&#x2019;s existing investment in Sexton&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,951&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;less: Net working capital adjustment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(118&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger Consideration&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;39,928&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Transaction costs related to the acquisition are expensed as incurred and are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; included in the calculation of consideration transferred.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Fair value of net assets acquired&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed from Sexton were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $509,000. Of the acquired accounts receivable, $17,000 is estimated to be uncollectable. The fair value calculations required critical estimates, including, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cash&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts receivable, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;492&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,310&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;670&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;737&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,132&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,276&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,324&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;90&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;28,470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(291&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, operating&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred tax liability&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,482&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(316&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Fair value of net assets acquired&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;39,928&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recorded a measurement period adjustment in the &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt; quarter of the year ended &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;of $198,000 to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The fair value of Sexton&#x2019;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="4" rowspan="1" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 5%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Useful &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Life (Years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,132&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;9&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,276&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;2&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,324&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;11&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;90&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;1&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Total identifiable intangible assets&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;8,822&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 3%;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; width: 3%;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into &lt;em style="font: inherit;"&gt;one&lt;/em&gt; of &lt;em style="font: inherit;"&gt;three&lt;/em&gt; approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all &lt;em style="font: inherit;"&gt;three&lt;/em&gt; approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The estimated fair values of developed technology were estimated using a multi-period excess earnings approach. The estimated fair values of customer relationships and non-compete agreements were estimated using a &#x201c;with and without&#x201d; approach, comparing projected cash flows under scenarios assuming the customer relationships and non-compete agreements were and were &lt;em style="font: inherit;"&gt;not&lt;/em&gt; in place. The estimated fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Acquired goodwill&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The goodwill of $28.5 million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; deductible for income tax purposes.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Global Cooling acquisition &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;General terms and effects&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; March 19, 2021, &lt;/em&gt;the Company entered into an Agreement and Plan of Merger (the &#x201c;GCI Merger Agreement&#x201d;) with BLFS Merger Subsidiary, Inc., a Delaware corporation (&#x201c;GCI Merger Sub&#x201d;), Global Cooling, a Delaware corporation and Albert Vierling and William Baumel, in their capacity as the representatives of the stockholders of GCI (collectively, the &#x201c;GCI Seller Representative&#x201d;). The acquisition strengthens BioLife&#x2019;s offerings in the cell and gene therapy and broader biopharma markets.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; May 3, 2021, &lt;/em&gt;pursuant to the GCI Merger Agreement, subject to the terms and conditions set forth therein, the transactions contemplated by the GCI Merger Agreement were consummated (the &#x201c;GCI Closing&#x201d;), GCI Merger Sub merged with and into GCI (the &#x201c;GCI Merger&#x201d; and, together with other transactions contemplated by the GCI Merger Agreement, the &#x201c;GCI Transactions&#x201d;), with GCI continuing as the surviving corporation in the GCI Merger and a wholly-owned subsidiary of the Company. In the GCI Merger, all of the issued and outstanding shares of capital stock of GCI immediately prior to the filing of the Certificate of Merger with the Secretary of State of the State of Delaware (other than those properly exercising any applicable dissenter&#x2019;s rights under Delaware law) were converted into the right to receive the GCI Merger Consideration (as defined below). The Company paid the GCI Merger Consideration to the holders of common stock and preferred stock of GCI (collectively, the &#x201c;GCI Stockholders&#x201d;).&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Merger consideration&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The aggregate merger consideration paid pursuant to the GCI Merger Agreement to the GCI Stockholders was 6,646,870 newly issued shares of common stock, provided, however, that the GCI Merger Consideration otherwise payable to GCI Stockholders is subject to the withholding of the GCI Escrow Shares (as defined below) and is subject to reduction for indemnification obligations. The GCI Merger Consideration allocable to &lt;em style="font: inherit;"&gt;one&lt;/em&gt; GCI stockholder was reduced by 10,400 shares to satisfy an outstanding note receivable of $374,000. In accordance with ASC &lt;em style="font: inherit;"&gt;805,&lt;/em&gt; the Company recognized the settlement of pre-existing relationships in the forms of cash deposits, trade receivables, and trade payables, which are included in the consideration transferred. The GCI Merger Consideration is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; subject to any purchase price adjustments.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total consideration transferred (in thousands, except number of shares, stock price, and consideration percentage):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife shares outstanding (as of March 19, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33,401,359&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration percentage&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;19.9&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,646,870&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,400&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Subtotal&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,636,470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife stock price (as of May 3, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35.07&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Value of issued shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;232,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Settlement of BioLife prepaid deposits&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,152&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Net settlement of BioLife accounts receivable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;16&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger Consideration&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;234,909&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Transaction costs related to the acquisition are expensed as incurred and are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; included in the calculation of consideration transferred.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;i&gt;Escrow shares&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;At the GCI Closing, approximately &lt;em style="font: inherit;"&gt;nine&lt;/em&gt; percent (9%) of the GCI Merger Consideration (the &#x201c;Escrow Shares&#x201d;, along with any other dividends, distributions or other income on the GCI Escrow Shares, the &#x201c;GCI Escrow Property&#x201d;) otherwise issuable to the GCI Stockholders (allocated pro rata among the GCI Stockholders based on the GCI Merger Consideration otherwise issuable to them at the GCI Closing), was deposited into a segregated escrow account in accordance with an escrow agreement to be entered into in connection with the GCI Transactions (the &#x201c;GCI Escrow Agreement&#x201d;).&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The GCI Escrow Property will be held for a period of up to &lt;em style="font: inherit;"&gt;twenty-four&lt;/em&gt; (24) months after the GCI Closing as the sole and exclusive source of payment for any post-GCI Closing indemnification claims (other than fraud claims), unless earlier released in accordance with the terms of the GCI Escrow Agreement.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Fair value of net assets acquired&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Under the acquisition method of accounting, the assets acquired and liabilities assumed from Global Cooling were calculated as of the merger date, at their respective fair values, and consolidated with those of BioLife. The gross contractual accounts receivable acquired in the acquisition was $7.1 million. Of the acquired accounts receivable, $53,000 was estimated to be uncollectable. The fair value calculations required critical estimates, including, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to, future expected cash flows, revenue and expense projections, discount rates, revenue volatility, and royalty rates.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;The table below represents the fair value of the net assets acquired and liabilities assumed, which were recorded as of the merger date (amounts in thousands).&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cash&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;43&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts receivable, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,076&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;639&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,512&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Financing lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;114&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Long-term deposits and other assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,020&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,640&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,240&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;137,822&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(9,837&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Line of credit&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,231&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, operating&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,880&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, financing&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(114&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Long-term debt&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,410&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred tax liability&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(24,133&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,464&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Fair value of net assets acquired&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;234,909&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We recorded a measurement period adjustment in the &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt; quarter of the year ended &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;of $607,000 to the fair value of goodwill and the deferred tax liability. This adjustment related to the tax attributes of the business combination.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The fair value of Global Cooling&#x2019;s identifiable intangible assets and useful lives are as follows (amounts in thousands, except years):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Useful &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Life (Years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;6&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,020&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;12&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,640&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;15&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,240&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Total identifiable intangible assets&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;120,480&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Fair value measurement methodologies used to calculate the value of any asset can be broadly classified into &lt;em style="font: inherit;"&gt;one&lt;/em&gt; of &lt;em style="font: inherit;"&gt;three&lt;/em&gt; approaches, referred to as the cost, market and income approaches. In any fair value measurement analysis, all &lt;em style="font: inherit;"&gt;three&lt;/em&gt; approaches must be considered, and the approach or approaches deemed most relevant will then be selected for use in the fair value measurement of that asset. The fair values of developed technology and in-process research and development were estimated using a multi-period excess earnings approach. The fair values of customer relationships were estimated using the &#x201c;distributor method&#x201d;. The fair value of the tradenames is based on the relief from royalty method, which estimates the value of the trade names based on the hypothetical royalty payments that are saved by owning the asset. The fair values of non-compete agreements were estimated using a &#x201c;with and without&#x201d; approach, comparing projected cash flows under scenarios assuming the non-compete agreements were and were &lt;em style="font: inherit;"&gt;not&lt;/em&gt; in place. The fair value of inventory and property, plant and equipment were determined using the &#x201c;market approach&#x201d;.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Some of the more significant assumptions inherent in the development of intangible asset fair values, from the perspective of a market participant, include, but are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to (i) the amount and timing of projected future cash flows (including revenue and expenses), (ii) the discount rate selected to measure the risks inherent in the future cash flows, (iii) the assessment of the asset&#x2019;s life cycle, and (iv) the competitive trends impacting the asset.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;In &lt;em style="font: inherit;"&gt; July 2022, &lt;/em&gt;the Company abandoned an in-process research and development project within the asset group acquired in the acquisition of Global Cooling and revised its forecasts for net income and net cash flows to be generated by that asset group. The Company determined that these events constituted interim triggering events that required further analysis with respect to potential impairment to indefinite-lived intangibles and definite-lived intangibles. The Company performed an interim quantitative impairment test as of the &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;balance sheet date, noting that the values of indefinite-lived intangibles and definite-lived intangibles were impaired by $58.9 million and $11.0 million, respectively. See Note &lt;em style="font: inherit;"&gt;8&lt;/em&gt; &#x2013; &#x201c;&lt;i&gt;Goodwill and intangible assets&lt;/i&gt;&#x201d; for details.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Acquired goodwill&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The goodwill of $137.8 million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. The goodwill recorded is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; deductible for income tax purposes.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;i&gt;Pro forma presentation&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following unaudited pro forma financial information presents the combined results of operations of Sexton as if the acquisition had occurred on &lt;em style="font: inherit;"&gt; January 1, 2021 &lt;/em&gt;after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,810&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50,665&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,085&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,162&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following unaudited pro forma financial information presents the combined results of operations of Global Cooling as if the acquisition had occurred on &lt;em style="font: inherit;"&gt; January 1, 2021 &lt;/em&gt;after giving effect to certain pro forma adjustments. These pro forma adjustments include intangible amortization, amortization of increased inventory basis, depreciation expense, lease expense, transaction costs, interest expense, stock-based compensation expense and salary expense related to a key employee, and the income tax effect of the adjustments made:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;51,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;85,985&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net income (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,141&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(6,095&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="INF"
      id="c86201866"
      unitRef="Share">530502</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockIssuedToAcquireParticipatingHoldersMember"
      decimals="INF"
      id="c86201867"
      unitRef="Share">477452</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_EquityInterestIssuedOrIssuableByTypeAxis-CommonStockDepositedIntoEscrowMember"
      decimals="INF"
      id="c86201868"
      unitRef="Share">53050</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="1"
      id="c86201869"
      unitRef="Pure">0.10</blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims>
    <us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-5"
      id="c86201870"
      unitRef="USD">6500000</us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="CE517DD0-19FA-4AE3-AA64-FCC7340B29FD">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;530,502&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife stock price (as of September 1, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;60.50&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Value of issued shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,095&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Fair value of BioLife&#x2019;s existing investment in Sexton&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,951&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;less: Net working capital adjustment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(118&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger Consideration&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;39,928&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife shares outstanding (as of March 19, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;33,401,359&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration percentage&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;19.9&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger consideration shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,646,870&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,400&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Subtotal&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,636,470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;BioLife stock price (as of May 3, 2021)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35.07&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Value of issued shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;232,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Settlement of BioLife prepaid deposits&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,152&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;plus: Net settlement of BioLife accounts receivable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;16&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Merger Consideration&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;234,909&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="INF"
      id="c86201922"
      unitRef="Share">530502</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:SharePrice
      contextRef="i_2021-09-01"
      decimals="INF"
      id="c86201923"
      unitRef="USDPerShare">60.50</us-gaap:SharePrice>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201924"
      unitRef="USD">32095000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201925"
      unitRef="USD">7951000</us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1>
    <blfs:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201926"
      unitRef="USD">-118000</blfs:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201927"
      unitRef="USD">39928000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="INF"
      id="c86201872"
      unitRef="USD">509000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="INF"
      id="c86201873"
      unitRef="USD">17000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c182D67B0-F75B-4B3A-8824-BFFA089908C4">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cash&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,516&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts receivable, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;492&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,310&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;670&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;737&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4,132&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,276&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,324&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;90&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;28,470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(291&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, operating&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(470&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred tax liability&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,482&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(316&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Fair value of net assets acquired&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;39,928&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 85%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Cash&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;43&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts receivable, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,076&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;15,547&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;639&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,512&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Operating lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,741&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Financing lease right-of-use assets, net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;114&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Long-term deposits and other assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,020&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,640&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,240&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;137,822&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(9,837&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Line of credit&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,231&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, operating&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1,880&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Lease liabilities, financing&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(114&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Long-term debt&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,410&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Deferred tax liability&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(24,133&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Other liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,464&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;)&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Fair value of net assets acquired&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;234,909&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201928"
      unitRef="USD">1516000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201929"
      unitRef="USD">492000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86201930"
      unitRef="USD">1310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86201931"
      unitRef="USD">670000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201932"
      unitRef="USD">737000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86201933"
      unitRef="USD">470000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"
      decimals="-3"
      id="c86201934"
      unitRef="USD">4132000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201935"
      unitRef="USD">2276000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201936"
      unitRef="USD">2324000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c86201937"
      unitRef="USD">90000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:Goodwill
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86201938"
      unitRef="USD">28470000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201939"
      unitRef="USD">291000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86201940"
      unitRef="USD">470000</blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201941"
      unitRef="USD">1482000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201942"
      unitRef="USD">316000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86201943"
      unitRef="USD">39928000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod
      contextRef="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="INF"
      id="c86201877"
      unitRef="USD">198000</us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c081485EA-0DC7-4300-B00C-38F31703836A">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="4" rowspan="1" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 5%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Useful &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;Life (Years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,132&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;9&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,276&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;2&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,324&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;11&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;90&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 3%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;1&lt;/td&gt;
       &lt;td style="width: 3%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 76%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Total identifiable intangible assets&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;8,822&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 3%;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; width: 3%;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Fair Value&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Useful &lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Life (Years)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 70%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Developed technology&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;18,140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;6&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Customer relationships&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,020&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;12&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;26,640&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;15&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Non-compete agreements&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,240&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;In-process research and development&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;67,440&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 12%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&lt;em style="font: inherit;"&gt;N/A&lt;/em&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Total identifiable intangible assets&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;$&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;b&gt;120,480&lt;/b&gt;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"
      decimals="-3"
      id="c86201944"
      unitRef="USD">4132000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MinimumMember"
      id="c86201945">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember_RangeAxis-MaximumMember"
      id="c86201947">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-3"
      id="c86201948"
      unitRef="USD">2276000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      id="c86201950">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c86201952"
      unitRef="USD">2324000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      id="c86201954">P11Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c86201956"
      unitRef="USD">90000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      id="c86201958">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-09-01"
      decimals="-3"
      id="c86201960"
      unitRef="USD">8822000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-5"
      id="c86201883"
      unitRef="USD">28500000</us-gaap:Goodwill>
    <blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201886"
      unitRef="Share">6646870</blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments>
    <blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember"
      decimals="INF"
      id="c86201888"
      unitRef="Share">10400</blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable>
    <us-gaap:NotesReceivableNet
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_CounterpartyNameAxis-OneGCIStockholderMember"
      decimals="INF"
      id="c86201889"
      unitRef="USD">374000</us-gaap:NotesReceivableNet>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-05-03"
      decimals="INF"
      id="c86201964"
      unitRef="Share">33401359</us-gaap:SharesOutstanding>
    <blfs:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="3"
      id="c86201965"
      unitRef="Pure">0.199</blfs:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage>
    <blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201966"
      unitRef="Share">6646870</blfs:BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments>
    <blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201967"
      unitRef="Share">10400</blfs:BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201968"
      unitRef="Share">6636470</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:SharePrice
      contextRef="i_2021-05-03"
      decimals="INF"
      id="c86201969"
      unitRef="USDPerShare">35.07</us-gaap:SharePrice>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201970"
      unitRef="USD">232741000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <blfs:BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201971"
      unitRef="USD">2152000</blfs:BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits>
    <blfs:BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201972"
      unitRef="USD">16000</blfs:BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201973"
      unitRef="USD">234909000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="2"
      id="c86201894"
      unitRef="Pure">0.09</blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims>
    <blfs:BusinessCombinationEscrowSharesPeriod
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      id="c86201896">P24M</blfs:BusinessCombinationEscrowSharesPeriod>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-5"
      id="c86201897"
      unitRef="USD">7100000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201898"
      unitRef="USD">53000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201974"
      unitRef="USD">43000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201975"
      unitRef="USD">7076000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201976"
      unitRef="USD">15547000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201977"
      unitRef="USD">639000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201978"
      unitRef="USD">3512000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201979"
      unitRef="USD">1741000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201980"
      unitRef="USD">114000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201981"
      unitRef="USD">4000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"
      decimals="-4"
      id="c86201982"
      unitRef="USD">18140000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-4"
      id="c86201983"
      unitRef="USD">7020000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-4"
      id="c86201984"
      unitRef="USD">26640000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c86201985"
      unitRef="USD">1240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember"
      decimals="-4"
      id="c86201986"
      unitRef="USD">67440000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets>
    <us-gaap:Goodwill
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201987"
      unitRef="USD">137822000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201988"
      unitRef="USD">9837000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201989"
      unitRef="USD">4231000</blfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-4"
      id="c86201990"
      unitRef="USD">1880000</blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
    <blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201991"
      unitRef="USD">114000</blfs:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-4"
      id="c86201992"
      unitRef="USD">4410000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201993"
      unitRef="USD">24133000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201994"
      unitRef="USD">7464000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86201995"
      unitRef="USD">234909000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod
      contextRef="d_2021-10-01_2021-12-31_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="INF"
      id="c86201902"
      unitRef="USD">607000</us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"
      decimals="-4"
      id="c86201996"
      unitRef="USD">18140000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember"
      id="c86201997">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      decimals="-4"
      id="c86201998"
      unitRef="USD">7020000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember"
      id="c86201999">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-4"
      id="c86202000"
      unitRef="USD">26640000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      id="c86202001">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c86202002"
      unitRef="USD">1240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2021-05-03_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      id="c86202003">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember_IndefiniteLivedIntangibleAssetsByMajorClassAxis-IndefiniteInProcessResearchAndDevelopmentMember"
      decimals="-4"
      id="c86202004"
      unitRef="USD">67440000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-4"
      id="c86202006"
      unitRef="USD">120480000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-5"
      id="c86201908"
      unitRef="USD">58900000</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="d_2022-01-01_2022-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-6"
      id="c86201909"
      unitRef="USD">11000000.0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:Goodwill
      contextRef="i_2021-05-03_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-5"
      id="c86201911"
      unitRef="USD">137800000</us-gaap:Goodwill>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="d_2022-01-01_2022-06-30"
      id="c94D5789B-D76F-47C5-863E-BF6992E01A89">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,810&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50,665&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,085&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5,162&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;(unaudited)&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total revenue&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;51,035&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;85,985&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 54%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Net income (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(4,141&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 20%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(6,095&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-4"
      id="c86202008"
      unitRef="USD">32810000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86202009"
      unitRef="USD">50665000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86202010"
      unitRef="USD">7085000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember"
      decimals="-3"
      id="c86202011"
      unitRef="USD">5162000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86202012"
      unitRef="USD">51035000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86202013"
      unitRef="USD">85985000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86202014"
      unitRef="USD">-4141000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30_BusinessAcquisitionAxis-GCIAcquisitionMember"
      decimals="-3"
      id="c86202015"
      unitRef="USD">-6095000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171316">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;16.&lt;/em&gt; Income taxes&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company accounts for income taxes under ASC Topic &lt;em style="font: inherit;"&gt;740&lt;/em&gt; &#x2013; Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company&#x2019;s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax benefit of $4.3 million for the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;resulted in an effective income tax rate of 5%. Included in the &lt;em style="font: inherit;"&gt;$4.3&lt;/em&gt; million were discrete tax benefits of $235,000 related to stock compensation windfall tax benefits offset by an increase in the valuation allowance.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company&#x2019;s US projected effective income tax rate without discrete items was 5%, which is lower than the US federal statutory rate of 21% primarily due to the impact of a projected valuation allowance on net operating loss carryforwards and non-deductible executive compensation offset by state tax benefits and research tax credits.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company&#x2019;s management evaluates both positive and negative evidence when concluding whether it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that deferred tax assets are realizable. After reviewing the evidence available, the Company&#x2019;s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $21.6 million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.&lt;/p&gt;
  </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c86202018"
      unitRef="USD">-4300000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="d_2022-01-01_2022-06-30"
      decimals="2"
      id="c86202020"
      unitRef="Pure">0.05</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <blfs:DiscreteTaxBenefit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202022"
      unitRef="USD">235000</blfs:DiscreteTaxBenefit>
    <blfs:EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent
      contextRef="d_2022-01-01_2022-06-30"
      decimals="2"
      id="c86202024"
      unitRef="Pure">0.05</blfs:EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2022-01-01_2022-06-30"
      decimals="2"
      id="c86202025"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i_2022-06-30"
      decimals="-5"
      id="c86202027"
      unitRef="USD">21600000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:EarningsPerShareTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171317">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;17.&lt;/em&gt; Net (loss) income per common share&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company considers its unexercised warrants and unvested restricted shares, which contain non-forfeitable rights to dividends, participating securities, and includes such participating securities in its computation of earnings per share pursuant to the &lt;em style="font: inherit;"&gt;two&lt;/em&gt;-class method. Basic earnings per share for the &lt;em style="font: inherit;"&gt;two&lt;/em&gt; classes of stock (common stock and warrants) is calculated by dividing net loss by the weighted average number of shares of common stock and warrants outstanding during the reporting period. Diluted earnings per share is calculated using&#160;the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the &lt;em style="font: inherit;"&gt;two&lt;/em&gt;-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table presents computations of basic and diluted earnings per share under the &lt;em style="font: inherit;"&gt;two&lt;/em&gt;-class method:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except share and earnings per share data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Basic earnings (loss) per common share Numerator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,876&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,758&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to unvested restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to warrants outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(215&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(208&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income allocated to common shareholders&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,661&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Denominator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Weighted-average common shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,072,712&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,668,124&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Basic (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.71&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.20&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.89&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.18&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Diluted earnings (loss) per common share Numerator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,876&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,758&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to unvested restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(208&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(200&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Less: gain related to change in fair value of warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Diluted (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,668&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,551&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Denominator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Weighted-average common shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;38,072,712&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35,668,124&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Dilutive potential common shares from:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Stock options&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,249,810&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,436,767&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,067,576&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,134,003&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;36,709&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Diluted weighted average shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,390,098&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,275,603&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Diluted (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.71&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.89&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.17&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The following table sets forth the number of weighted-average common shares excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Stock options and restricted stock awards&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,942,812&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,767,841&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,942,812&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,767,841&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171318">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;(In thousands, except share and earnings per share data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Basic earnings (loss) per common share Numerator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,876&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,758&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to unvested restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to warrants outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(215&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(208&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income allocated to common shareholders&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,661&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Denominator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Weighted-average common shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,072,712&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,668,124&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Basic (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.71&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.20&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.89&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.18&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Diluted earnings (loss) per common share Numerator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Net (loss) income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,876&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,758&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to unvested restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(208&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(200&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Amount attributable to warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Less: gain related to change in fair value of warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Diluted (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(72,554&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,668&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(79,620&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6,551&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
       &lt;td&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;b&gt;Denominator:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Weighted-average common shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;38,072,712&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;35,668,124&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Dilutive potential common shares from:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Stock options&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,249,810&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,436,767&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Restricted shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,067,576&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,134,003&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&gt;Warrants&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;36,709&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"&gt;Diluted weighted average shares issued and outstanding&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,460,189&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,390,098&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;42,238,355&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,275,603&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Diluted (loss) earnings per common share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.71&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.19&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(1.89&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.17&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202035"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202036"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86202037"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202038"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202039"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202040"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86202041"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202042"
      unitRef="USD">-7000</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202043"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202044"
      unitRef="USD">-215000</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86202045"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202046"
      unitRef="USD">-208000</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202047"
      unitRef="USD">-72554000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202048"
      unitRef="USD">7661000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86202049"
      unitRef="USD">-79620000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202050"
      unitRef="USD">6543000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202052"
      unitRef="Share">42460189</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202053"
      unitRef="Share">38072712</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202054"
      unitRef="Share">42238355</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202055"
      unitRef="Share">35668124</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202056"
      unitRef="USDPerShare">-1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202057"
      unitRef="USDPerShare">0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202058"
      unitRef="USDPerShare">-1.89</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202059"
      unitRef="USDPerShare">0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202061"
      unitRef="USD">-72554000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202062"
      unitRef="USD">7876000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86202063"
      unitRef="USD">-79620000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202064"
      unitRef="USD">6758000</us-gaap:NetIncomeLoss>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202065"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202066"
      unitRef="USD">-208000</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86202067"
      unitRef="USD">0</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation>
    <blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-5"
      id="c86202068"
      unitRef="USD">-200000</blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation>
    <blfs:WarrantsIncomeStatementImpact
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202069"
      unitRef="USD">-0</blfs:WarrantsIncomeStatementImpact>
    <blfs:WarrantsIncomeStatementImpact
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202070"
      unitRef="USD">-0</blfs:WarrantsIncomeStatementImpact>
    <blfs:WarrantsIncomeStatementImpact
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86202071"
      unitRef="USD">-0</blfs:WarrantsIncomeStatementImpact>
    <blfs:WarrantsIncomeStatementImpact
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202072"
      unitRef="USD">7000</blfs:WarrantsIncomeStatementImpact>
    <us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202073"
      unitRef="USD">0</us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1>
    <us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202074"
      unitRef="USD">0</us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1>
    <us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c86202075"
      unitRef="USD">0</us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1>
    <us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202076"
      unitRef="USD">0</us-gaap:WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c86202077"
      unitRef="USD">-72554000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c86202078"
      unitRef="USD">7668000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c86202079"
      unitRef="USD">-79620000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="d_2021-01-01_2021-06-30"
      decimals="-3"
      id="c86202080"
      unitRef="USD">6551000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202082"
      unitRef="Share">42460189</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202083"
      unitRef="Share">38072712</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202084"
      unitRef="Share">42238355</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202085"
      unitRef="Share">35668124</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86202087"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86202088"
      unitRef="Share">1249810</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86202089"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c86202090"
      unitRef="Share">1436767</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86202091"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2021-04-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86202092"
      unitRef="Share">1067576</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86202093"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2021-01-01_2021-06-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c86202094"
      unitRef="Share">1134003</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202095"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202096"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202097"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202098"
      unitRef="Share">36709</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202099"
      unitRef="Share">42460189</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202100"
      unitRef="Share">40390098</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202101"
      unitRef="Share">42238355</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202102"
      unitRef="Share">38275603</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202103"
      unitRef="USDPerShare">-1.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202104"
      unitRef="USDPerShare">0.19</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202105"
      unitRef="USDPerShare">-1.89</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202106"
      unitRef="USDPerShare">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171319">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom;"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Stock options and restricted stock awards&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,942,812&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,767,841&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,942,812&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,767,841&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"
      decimals="INF"
      id="c86202107"
      unitRef="Share">1942812</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-04-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"
      decimals="INF"
      id="c86202108"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"
      decimals="INF"
      id="c86202109"
      unitRef="Share">2767841</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-01-01_2021-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember"
      decimals="INF"
      id="c86202110"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c86202111"
      unitRef="Share">1942812</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c86202112"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c86202113"
      unitRef="Share">2767841</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-01-01_2021-06-30"
      decimals="INF"
      id="c86202114"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171320">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;18.&lt;/em&gt; Commitments and contingencies&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Employment agreements&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;We have employment agreements with certain key employees. &lt;em style="font: inherit;"&gt;None&lt;/em&gt; of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Litigation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, &lt;em style="font: inherit;"&gt;none&lt;/em&gt; of which are currently material to the Company&#x2019;s business.&#160;The Company&#x2019;s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; aware of any significant pending or threatened litigation.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;&lt;b&gt;Indemnification&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;As permitted under Delaware law and in accordance with the Company&#x2019;s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the indemnification rights and agreements is minimal. Accordingly, the Company has &lt;em style="font: inherit;"&gt;not&lt;/em&gt; recorded any liabilities for these indemnification rights and agreements as of &lt;em style="font: inherit;"&gt; June 30, 2022.&lt;/em&gt;&lt;/p&gt;
  </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171321">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;19.&lt;/em&gt; Employee benefit plan&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company sponsors &lt;em style="font: inherit;"&gt;401&lt;/em&gt;(k) defined contribution plans for its employees. These plans provide for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees &lt;em style="font: inherit;"&gt; may &lt;/em&gt;contribute up to 100% of their annual compensation to these plans, as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company&#x2019;s sole discretion. The Company made $301,000 and $527,000 in contributions to the plan for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;respectively, and $216,000 and $350,000 for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2021, &lt;/em&gt;respectively.&lt;/p&gt;
  </us-gaap:DefinedContributionPlanTextBlock>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"
      decimals="0"
      id="c86202122"
      unitRef="Pure">1</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="d_2022-04-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"
      decimals="INF"
      id="c86202123"
      unitRef="USD">301000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="d_2022-01-01_2022-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"
      decimals="INF"
      id="c86202124"
      unitRef="USD">527000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="d_2021-04-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"
      decimals="INF"
      id="c86202127"
      unitRef="USD">216000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="d_2021-01-01_2021-06-30_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember"
      decimals="INF"
      id="c86202128"
      unitRef="USD">350000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:SubsequentEventsTextBlock contextRef="d_2022-01-01_2022-06-30" id="c2171322">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;20.&lt;/em&gt; Subsequent events&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;The Company has evaluated events subsequent to &lt;em style="font: inherit;"&gt; June 30, 2022 &lt;/em&gt;through the date of this filing to assess the need for potential recognition or disclosure. Based upon this evaluation, it was determined that &lt;em style="font: inherit;"&gt;no&lt;/em&gt; subsequent events occurred that require recognition or disclosure in the Unaudited Condensed Consolidated Financial Statements.&lt;/p&gt;
  </us-gaap:SubsequentEventsTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#c86201395"
          xlink:label="c86201395"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c86201397"
          xlink:label="c86201397"
          xlink:type="locator"/>
        <link:footnote id="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae" xlink:label="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">In-process R&amp;D represents the fair value of incomplete research and development that has not yet reached technological feasibility. We will amortize the asset upon technological feasibility.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c86201395"
          xlink:to="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c86201397"
          xlink:to="fcc2d730f-8e78-4b51-a26f-5f5e3ca06fae"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>102
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MC7V&OS-5B%2J?VIDE-.?Y*E;42R.2[B#$1X43J<\/A0>]&P/WIM0\+7(A?<
MC+IEQ0*E-*8.31\01G!*C.A0@M!P";(73#69E+VT/>?("!.GJ//A4HC(U XY
M>CH;+D<<E>^"\ N-H,Z#8^_YF0?G/3];'OT4POX.Y3?6/(I:@9*OS4#X*C%N
M:/8_[=B_T7+;_3KB06HMJ^YRPYDA;P'F^[4TA<#AC?W!1?\#F]4_4$L#!!0
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
M?)3E3D)A[1JRMF%3D1ZO:1@1<CE_/!XL%T40#ND0E;HHSGB$AZ@,Z#$.(W1
M#132@T+:-B,C"A>J-MEM<C=077J7#X'\MFTF0WT!Z::^ 6M*^T6]%4MY-3.U
MNY;5HYQ=__,?B(7_@G)I2K)T2K)L(K)!3*)#3")OUOTH2Q.*HHV*6)G"E]>Z
M"<TCF(@=5W24%@B1H[3H1MI%<429E8<N"./(1F50APFG<!ZR@V;FU7PK"MGE
MH5FSO\HF#R&QS.D[HBBRM+H@@J@UFU(7A$(2VEJ!_A ;D<H/4OD+1:66HEJN
M6[4K4V$*M6T6&4@O=Z50'%MZ 5!(K4%)71#'86+)=4%12# L-S[(C;URWY=:
ME _Y72$#4=?&_N6;K<BK1G&P7(OJ08++9NS<"DN2,+2DNR@+D;Z*)_/Q#%0G
M!]7)::K%1E4Z_U]K(""]B3OW8F8O)RX(Q;&=V2XHXMA*APSJ[F@B#32CL#=4
MH5?UN^4?N[S.6QN\;%86T!"%[@U:.@$(YK9. (3L^0MA,!]9,]&1<41>G8NU
M":YLK-^]2>7@410[V5C$I?%BIG*UJ6U\8K[:.T9P&)!S:V>8,+MP S#$46R/
M!4 6L<2..D2&,1L9#MP/!_8.QZ]*F^7*-1"@; PL'XS;M[H <"3B46(+!^A8
MR"BWE;NXB$3QF/3>("*_0_QX$%VH&A9,W-!PAAFV!0,X&D5V'8=@,8G=4 .X
MR$@>$=S[1>0WC!_U6E;/$08=(IK4(D[*ED[*EDW%-@Q%;Q.1WR>:-48:7OT<
MC>^#4H(N KF6[2RQTP_ ((SL[(-0G-BY!Z$('TF]WB(BOT?L4N_-7NU;4WZ7
M:N-1[9JW,^S,.A=D.P@ @I!M(*#.QI:9WB@BOU,<6V:>1%4)L\84N;C+BUS_
M"<IWS9SMGEZ&I"]#,@ RR)RA^-XV(K]OW"\JQ^5F/-2N?SLCSDH*@( ,!U"V
M#\L@$#Y:FX:2>\^(_*;Q9[.$!'?R7E5RG]R!%M_,E5+>Y[!PU\<UBTMB&T<(
M1QFW-X 0+"9)%-OZ 5S$DY&-$>[](_;[Q_>O$HU=4T<XL0L:@$(XLD]54@!&
M";$%OT@V%-P;2>PWDK^8G<&;QCD\5S-0+V#NC*./J*W8Q?'8B3'(EC!L3VL
MQ_A1)@P5]UX18Z]_<!0'0NLJO]MIT6R6M#+.>;,Q^X?:[ WE6A7&0\,G4=AK
M2D_U&9.RI9.R95.Q#4/6>USL][@WHLZ78 0@:PLEIHOCS-[II" ;E)@NCD64
MC"1F;VRQUZU=IWFQT^ 1_,V^)7M1IXLS.NV]&L@&Z71Q+!H[[\6]:\1^U]A&
M,WAC3,5*%86HZL!L8;K9]A84W]'%@V7SG-NK*P +SYUB"W+%]C$4R(7&2D_O
M'['?/^XC?(IV]CKM+LS<K[U5A<E<\2#9B'G&O9?$W%MW?V\?&QKUXM'L6(VK
M;%77P:YYZM55W:T9G>?:+$55FEWMT0#]_3KM-;DGU^DIV=))V;*IV(8A[ATS
M]COF?F9WL853VK6N%%,6(CL1%P"2Q"'''#G3&N+$)";VZ44&<4:F1"(\YAU[
M\XS]YOEX=OOTN]9U3#^ #$D2AHE3T2%.6+^+)#'F$0M'UB_2>V?B]\Z?*K7:
M+77PGP]R<R>K_X(/+;T4IT[%2=G22=FRJ=B&P>A]/?'[>M^#8^0LZX0B;N_-
M 1CFU#$3 (S1R-FP 3!JYMS(I".]FR=^-W_RXV,RJ6F?E"V=E"V;BFT8F:,W
M%_RFO8E,<U;TH-2JBU#31[Z$3^6)ZZDQBIR'$0 ,14EL;S$!&$51B.RDA#IE
MX<@Q"NF=//$[^=M.:+"?A/Z*..EA]:1LZ:1LV51LPZ#TVP[BWW;X*J)[7$R8
MO<@N !1*[).Y%$ Q'MM/@P 416S$8Y-^@T'8Q-70NV$Y.?NF9$LG9<NF8AM&
MIM_]D!=.TD^KANZ)-D[LI7<!H!#%W$Y(X)V**'(2$NB1\[%*V.\(B']'\%F6
MS2'ZJPJAE^GD5)R2+9V4+9N*;1B3?I]"_/L47R$$WLI@S'XR#J 0MY_!I0 J
MHJ&3=U"/=.3=%]KO16@X;2&DDVY,)F5+)V7+IF(;1J;?F- 7WEPYJ1!2=]N
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
MT@(H+832HB--=Y^CD+BF:4L7?<AV)5!:"J5E*-K0Q'WJP=+''O0F5AH7FGZ
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
MZ[[#4,])X"N=P?@5W9";)J)LD5PS@%E!HVV_JL>A#WL YGD=D V ["7@^ W
M= #$SLE>62SKJR)5Y-YUPH=L9@M&[$U$<S7:AEM<D>==S3@J;JQJ*TU0B86S
M%=].;Z$SNE(AO")>^-H(A5N+5:T\U,Y4X/&#N+QO-3V)@R4'+=5 NE0&#\4G
M@2$/<TDL,1PDRT'.O)>3O2'G5%PY9D)QR6*JO_&22QOKRW;US;-W"7^V]DA,
MTX\B2[/L%3V+_X=/WI$S'=L]C7S';_ M%-8&$$6GO%>6!#R"+S4"B@-MA[8=
MOM:WGO<D\H;1?"C27#[L5_)OQMF72?J<U0N6>V^E ;^)(X2B=*VEOJUC=)S2
MB_@X7\3G/+W]L#W3]*-_I?Q&6Q0&UDR9'IVQ)M^/4^^0V\87>>N(WW<T:_X#
M@0\)O+]VCG9..&#\IQ5_ %!+ P04    " #Y@PE5B+\L7YH)  !O+@  &
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;+6:;7/;N!''OPI&=W.3S%@1"?!)
M.=LSB9-<W;FTGG/3>]'I"YJ$+#04H0,I.>ZG[X*4"8E8P/)5>6/K80G]=P'L
M;Q?D^8-47YLEYRWYMJKJYF*R;-OUV]FL*99\E3=OY)K7\,U"JE7>PEMU/VO6
MBN=E=]&JFM$@2&:K7-23R_/NLQMU>2XW;25J?J-(LUFM<O7XGE?RX6(23IX^
M^$W<+UO]P>SR?)W?\UO>?EG?*'@W&T8IQ8K7C9 U47QQ,7D7OKV*4WU!9_%/
MP1^:O==$NW(GY5?]YKJ\F 1:$:]XT>HA<OBWY5>\JO1(H../W:"3X3?UA?NO
MGT;_U#D/SMSE#;^2U>^B;)<7DVQ"2K[(-U7[FWSX"]\Y%.OQ"EDUW5_RL+,-
M)J38-*U<[2X&!2M1]__S;[M [%T X^ 7T-T%='Q!Y+B [2Y@G:.]LLZM#WF;
M7YXK^4"4MH;1](LN-MW5X(VH]33>M@J^%7!=>_FESC>E:'E)KF1=PO3TKQI9
MB3+7']^V\ _FK6V(7)"KO%F23S#W#9F2+[<?R*L?7Y,?B:C)/Y9RT^1UV9S/
M6M"E1Y\5.PWO>PW4H2$AGV7=+AOR$124A]?/P)_!*?KDU'OJ'?"OF_H-8<$9
MH0&EB)ZKXR\//7+8$&/6C<<<XW5!6W1!6RBY(K '5=Z*^KY?Q*(5'(U:/VJ$
MCZKW]]MFG1?\8@(;N.%JRR>7/_T0)L'/F,LG&NP@ -$0@,@W^N7?(!V]JF33
MO(:54L@5Q[SMATBZ(73RV5Y.TWE"@_/9=M\/VRQ)XVPP.M 7#_IB[P2]*_\#
M.ZU?Y*V$[%3(NA 5)_58N/Y:?UCH*=WHS0)+_]CYC$\YGR<:["!>R1"OQ#N?
MUW6;U_?B#B*4-PV$0ZS6N5 Z@*18YNH>][\?--Z?NOD\&$^P;17@LYL.:E.O
MVMM6%E^G.M>7!.80 -CD&B&8Q-3Z\3!D*1U)M*VB@$:XRFQ0F7E5OEM)U8K_
M=LITIA6C&*,1S2PA<4KCD5K;B&9AC*N=#VKG7K4?."RK0CCC.+=^D]$X'0FS
MC<)L[A 6!@9H@3_9R'K:;<^*PY03_DU/.)IQ=@,="&!!-E*)6051ZI"YQ]W0
M*_-J"=/+=?I8P-8AV[S:<#WO#[E2.>RC2N1WHA+M(ZH\]&R2G6S;)-0T0U53
MHYIZ5?\*N9#  BU%LY9-7FG%:Z438/M(@/Z$_[$1:YT(SG2>1+53>VV,ERQB
MXT@"H8%PZ$7<Y:M?H*A]32K$@WZ#D26O2@*5,0# IY]9VJ8TB<8>V%9A0!T^
M&(Z&?I!^X NN5$>=GD;Y-W+':[X0N-3(EAHQ9JUPQ"RD<>R2:[ :>BGD7..
M5XW+#A=0:XJRXR>>278_<2 N3N;6BK'-0DH3AP<&=*&?=']OEURALFQ,40ME
MB%&8NA*<P5F8^LO)(:I[A4>_@O4.?$H<4(1T:U@'G"\6T#9U%7Q>P YMA XW
M7JI[8?K2*N54HQV&RC U? :J12$WNJH#6'&QS8&F9Z15><G=V]O&Y30+J;5G
M,+-H[B@"0L/5T _6ZWH+VT(J1PD9VLR<1E!$C=4A:*49P\51@U;J1^N-XE#G
ME4],[=>;U%O$4Z-0FY_3,)J/:RK$C++4D?6IP2SU8W98 >O\44\_JM!&Y91%
M@:40,:/IW"71,)7ZF0H2U8:C42TV2K-H?T^C#MBXG(8!8V,'$+,D<]0$U("5
M^L'Z>U^Q//I+%HI@,TF3L43$BM' I=& DS[?@?ZIGHUB;$RS*!P+1^SBN8OX
MU""4^EO3\=F!@/S0'*/[I,WFJ48[#(*A,/53N M"!ZZ^]MF'F&;:+Y6\@TKN
M2DJX\OZ,7-?%&S0HOMYRYZEM$KGRIB$V]7>@-TH6G)>[*82BLZN"AE(9E6KW
MF)94I%EU*#7 I'Y@WFP4-/ Z"3G*8E0KPL(T'5?$F%5$,U?Z-,2D?F(>2,9[
M$50T0E(6S:U]C0$W"ASM'S,H97Z47G?[N#LQT>MYFXM*XVD*<9YV"Z3AD/S=
M1X,(5"D+TG%9C-@Y LX,4ID?J58N/38G,12@0-JQ:,0N2US;D!G0,OJB7+H0
M=5X71^CV\OO%![$G&NTP"'MGT7Y:'^8B_HVK0C2[KFRU@GS:Z.,RX*.S0V V
MHUDPWC>(41(XCFF9P3CS8_Q0O/ZV$PY4P!M@9E/96FRV21AF@6N7&' S?^][
MDS_N[IK4QPBUVU=+*-((A[!]7$$U=&5^NG[BD#M%W=6:3XG^7C1MWY/#+M%0
MQ5>"#<NI5=(A1J[@&J R/U"=;3E#F&@%TK:9,A>'F$$G\Z-S2(NO=GGQM:;1
M5I3PYN[Q^&2#83*U?+"M6.8X66 &I<R/4NU"R6&5ZH-32.S:G;/>*<W2+7 )
M5O19!U?(3:T2A;Y%J U05S!VQDELY0K$+HP@X^'^1 :RD1^R5\?K)S_]D-$P
M_)G<P=JO:SU/NIS@2L@2\RVRP9K,,VN>$+-Y #%P>&88'/D9_-$<Z/0]8O&H
MSS7JIMK=0/B_)R]"(!Q:!PV(E0/3D<%TY.^'_\RL<=TR>^?+[GTIM/CSL3^V
M69K0^=SADZ%NY+\%/-R4V*N50/*Q22$ZZ:W@4XUV&(N]F\%^B.OYK7C3'!0?
MN]L>W4E=!8V'6 @-(XUYZXZ(O@F[7ZR@$7N>_(@)G;N.&B(#_NB90^\G]T33
M;&!V._=N"W&;+SCAN:KEIB7-,E>.J;8QGX5CIB)&KF1IRH#(7P9TMTD[T1#X
MO#D\F=<AWS7@1W?;T?/=-F)"&4TCUR28 B'R%P@?GUH_<VRPJ<&9O7.?[O8@
M/@5V@4"C\6$:8I3,4Y=P4T5$_BK"*;Q/%=PGVZX)K'C;)E'D6CFF;(B.Z\#=
M#3BI94L>H;K0Q\>H=N3 VCJ 18P<VF-3(L3/EPCZ7CO79''*BY%[P'1<QB!&
M+GF&\_$SG!\B^*L$NI-_?>:K.Z[^C8KT#O7BYTM.--JAXZ8(B+]/KQZ?M%<_
MU6B'03!50_RB7GU8"Y5>"ZCW=M<]3@&(24@SQSEU;* >/].9[[6[QPA%CLMI
M-'Y !+%R[:B]1[W\>/[4Y]$2L-5L5)=2;Q1?B<W*O[E.^_#6]SA/CPWJX^3[
M;"YO!?'B()QHM,,@F!(A?N90?F_%+IX6A1@6Q;I?%&@8^H$/'E6,XO$=8LPJ
MS,8'Q[.]1W=77-UW3S3KXFM3M_T#K\.GPU/3[[IGA4>?OP_?7O7//IMA^D>Q
M/^<*6MH&*H<%#!F\26'QJ?[IYOY-*]?= \)WLFWEJGNYY#D4'=H OE](V3Z]
MT3\P/&-^^3]02P,$%     @ ^8,)5;/%WWNI#@  S"4  !@   !X;"]W;W)K
M<VAE971S+W-H965T.2YX;6RE6FESVS@2_2LH;\UL,B7+DIQK<KC*]B0[F4HF
M6<O);M76?H!(2,2:(C@ :<?Y]?M> Z0H6W;F*%LV"0*-/E]W@WIYY?Q%*(QI
MU)=U6857>T73U,\/#D)6F+4.8U>;"D^6SJ]U@UN_.@BU-SJ71>OR8#:9/#E8
M:UOM';V4L8_^Z*5KF])6YJ-7H5VOM;\^,:6[>K4WW>L&SNRJ:#AP</2RUBLS
M-\VG^J/'W4%/);=K4P7K*N7-\M7>\?3YR2/.EPF?K;D*@VM%21;.7?#F;?YJ
M;T*&3&FRAA0T_EV:4U.6) 0V?DLT]_HMN7!XW5%_([)#EH4.YM25_[)Y4[S:
M>[:G<K/4;=F<N:N?39+G,>EEK@SR5UW%N4^Q8]:&QJW38MRO;17_ZR])#X,%
MSR9W+)BE!3/A.VXD7/ZD&WWTTKLKY3D;U'@AHLIJ,&<K&F7>>#RU6-<<_>H:
MHZ9J7WWP*UW9KSKJJLK5W*XJN[29KAIUG&6NK1I;K=1'5]K,FO#RH,'V)'*0
MI:U.XE:S.[9ZHMZ[JBF">EWE)M]>?P"V>]YG'>\GLWL)_M)68W4X&:G99#:[
MA]YAKXM#H7=XCRZ":IQZ8RM=95:7:M[HQL 'FYWR1G*/=I-C.#T/M<[,JSW$
M2S#^TNP=??^WZ9/)BWN8?=0S^^@^ZD<G.MB@W%)]).VJ^=V&4_\Y-U\:=5*Z
M[.*_NZ2Z?]_I6)VT 8,AJ!/KWMFE47-7MMP^C-3;*ANK!]__[=EL-GF1GLO=
M],5(I>$VW!RYNC7'M;X?<EXUA>F>G+IUK:OK]/2A@A8TXO 2^%(;/T)P5.T2
MP=YZWE$AH:WKTAI/;6E5.]\LH0O'VX5UM7=Y&R&B<8BFN 36LAF49:NL;'/J
M#_-J;TT#Z(K+Q*11[6N36XW-6H0K'"97&6"&*T B</'2XGZMLX**&ZFL= &S
MPG6 =ZG,7[N5J6RF+N%S>%RT$$+5)4B5P.7R.N"JUVKQ\5TO_ I>TQ2W]V\*
M?<5]H1>*(3NV^7[FJ@IPR*T+6]><@:$&V&T\)@')O-X'3BNP!65J*A'$LP+0
MD"$<EMZ8KS)UPS/512+>E24(>[+:S9.'4%;I5K*>MW6A@::9@<=PB/QZBJV
M=1YY8*P^M%Z=@OX< XB7IX]>)()13J'R\W7MS@OCURZX,DTJ,-9P#%PE8FE%
MLC'X@3PP6[O>)\7(CT?8VTH&1FK9EN4U81TJR:/[< VS7UM&U3HD(U S:N@"
M^[;B6+)\KM?<G*MSHYLBRC1'W,%9;OI&8DXQTI*_P?%@Y<ZLV#PN,E_@^2D=
M8@D7>QLN9!^[!IU+L;F[JD*##+U6L*'D[2HC9:@&0($$ X]A0+7!, :6\.E2
M+;@X*4<(1B>4^Z@'ILZYT9VV;WGM56&S0K15M[Z&@^\O6ELV8'%E\X&?<5]H
ME6&+@&(I@/"HP *P\H)JZ^1-,RW%#49[4J>S05'1FQC6F:@_C!6\ ?((+PK8
MIQ9&H@X$B B:9@5=$;Y JH8&O&M71=TV*0ZCM]X=PUWX,K@:M? RAI"Q=6FZ
M>7SJ=6[)DVR9+ !RB^O$"((K*RK[6XO)+5*AAR+($2Y*PAAMD@**SB;^"?>(
M&EEZMU9 CT!A1*<H"D0%T<?.$?CS\^.S9*1MWX)B )YP&; C6+C$:NIE>3=T
MB#6PZU=3]9'<!VUG,C$2'2*J7ZR$NX5>]8;I0[ P93T(HFX[;V)XI=#!A $&
M[0>6@:S?;O,0J-G08$_M<_N5M.C<'=UD&.&ICQI.8.2$3M>]%F6>NS2^0-QB
MZM"M[XR@@<G5%=E"H8A")UID$R<)%:/]*<6UDIC-DY9WHBC9[?09R730%M/7
M#67$/7\WD"LX*68-('JC5I@ ,<3=&*[-D%1(6O&Z8KS2)RNSTF*@V039Z='C
MZ0OU[$FZ&JM/45$F-)8;!#H%\;/6/JJ=.-177:&ONL2O7,40LLUU5#RT #88
M7#K+3$VGT9LR!^X-(@A)64LC?:HLYT@I%_HL^FD\'ZM_'!]_['.I-[^UEK(A
M3*%?[D\=K/6%&3 N&!'0P]2".Q$,]'+)$!6W,BPPR-.:+(F'8;YIXM+2ZH4M
MX2PD)0^Y**>YT_5.-43OO4W9 S"J-F8:9 =$">CFK>^=7-:(7F!5EX]1$3;$
M(,@))R$@M"6"SD( 'PW9%(#NC<#CK7KR;CU$>.OT-E#(H%Z;/GT1X"A("4@C
MZ#46 ,Y+7;8BNZT@"ISM&@E/6[]Y<*6]Y]Z=ZC"!SWJ_00:Y $WV9F )L_,P
MF!$Y14:"[PL, =3$ZU/BZ($'IB8+H=EH?-$5NH#-10*(<).]N+W(DIL%DHG)
MH'\:>"0FD7)KV4H$9CH4:HF(&Q:6J89CR&-);H/X<G??L)XAL,B&D2^I<K:T
M+_;O;2-I$_*8J 637"$CKB4=DO/25:O]$C&;)P\=]33R@9 A6@<(N[*4<N#-
M*^?R*R39$7T2?O:U*X?A1'G2O/@=RX-HQFN5>B$6D<:S)F#X^M9L/'B$\A2
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
MKTB+_J9QM7Q?9^$:N+E<%D:C,> $/%\Z5)?IAAOT7^ Z^C]02P,$%     @
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
M1OV380"Z&83-QJK*#Y^%LC3*_+*@;P?43H'>+Q7Q;3?.P>YK9/8O4$L#!!0
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
MY&!IV%MZ$QY4^'-3C5GD>RSTP_" OFCP/'+ZH@.>&V85^R K7F62%^R+Y5:
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
M)<5]9VIOK*K=MYU[9=$GW.5*H#5H$L#SA<)@TMW0 </'OJO_ 5!+ P04
M" #Z@PE59T7Q#N,"  " !@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-RYX
M;6R556UOTS 0_MY?<0H3 JDTS4N[=;25UKV((0;3-N #XH.;7%MKCEUL9^W^
M/6<GS8)4*O@2V^=[GGO.9U_&&Z4?S0K1PK80TDR"E;7KTS TV0H+9GIJC9)V
M%DH7S-)2+T.SULAR#RI$&/?[P[!@7 ;3L;?=ZNE8E59PB;<:3%D43#_/4*C-
M)(B"G>&.+U?6&<+I>,V6>(_VZ_I6TRIL6')>H#1<2="XF 1GT>DL=?[>X1O'
MC6G-P64R5^K1+:[S2=!W@E!@9AT#H^$)SU$(1T0R?M6<01/2 =OS'?N5SYUR
MF3.#YTI\Y[E=38*3 ')<L%+8.[7Y@'4^ \>7*6'\%S:U;S^ K#16%368%!1<
M5B/;UN?P+X"X!L1>=Q7(J[Q@EDW'6FU .V]B<Q.?JD>3."Y=4>ZMIEU..#O]
MK"S""-[!69;I$G.XW%*]#1I@,H<O=H4:SDNM45KXQ-F<"VXYFG%H*;BC"+,Z
MT*P*%/\ET!!NE+0K Y<RQ_Q/?$BB&^7Q3ODL/DCXL90]2/I=B/MQ?( O:4XB
M\7S)@9,P8!5<<<EDQIF >\LLT@VT>_.MZ-+]=.XQG9HURW 2T&LQJ)\PF+Y^
M%0W[[P^(31NQZ2'V*55+E:0+;MDSFPOL-O5K%:G;JF'+#!?<9$*94A-L5]L?
M#[BU,!,J>_RY+]F#<O8G.^HUHK!]J907E-6!14M8INBQ&PMJ >0#"R6H9W"Y
M!&:<C2J.3<7A C,LYL241-X2G78:A_9>Y\VU)#I5&@INWE9@Y]_9J<M4X>0Q
MWR:.(.T.DQ,_)H,7IR:%J#L:I/0=#H:="UP@I9%3>WI"6=)Y[M)*DPA.HK2!
M6[8E;)) ?-RI*A*11SQ*.P_*TE5C_W=21W#<C4Z.JS&-8=^5"EM=H4"]]+W/
M'3)=G*I!--:FO9Y57>7%O>K--TPON30@<$'0?N]X$("N^EVUL&KM>\Q<6>I8
M?KJB7P1JYT#["T6OJUZX ,U/9_H;4$L#!!0    ( /J#"56>3RC[M0,  ,\'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;'U5VV[C-A!]]U<,U$61
M %KK8L=)7-M G&W:+;I%D+3-0]$'6AI91"A2(:G(^?L.*5EV :]?1)&<.3-G
M.)=%J_2K*1$M["HAS3(HK:WG462R$BMFQJI&23>%TA6SM-7;R-0:6>Z5*A&E
M<3R+*L9EL%KXLT>]6JC&"B[Q48-IJHKICS4*U2Z#)-@?//%M:=U!M%K4;(O/
M:/^J'S7MH@$EYQ5*PY4$C<4RN$OFZZF3]P)_<VS-T3\X)ANE7MWF:[X,8N<0
M"LRL0V"TO.,]"N& R(VW'C,83#K%X_\]^H/G3EPVS."]$B\\M^4RN D@QX(U
MPCZI]E?L^5PYO$P)X[_0=K)3LI@UQJJJ5Z9]Q66WLET?AR.%F_@["FFOD'J_
M.T/>RR_,LM5"JQ:TDR8T]^.I>FURCDOW*,]6TRTG/;OZ0UF$)(;/\,*T9M)^
MP!,:U.\(OW.VX8+;CT5DR9*3C[(>==VAIM]!G<$W)6UIX&>98_Y__8@\'-Q,
M]VZNT[. OS5R#),XA#1.TS-XDX'VQ.--SM V8!4\<,EDQIF 9\LL4KI9<XIO
M!S<]#><J9VYJEN$RH-+PX0M6/_Z0S.*?SC@['9R=GD-?/6J5-YD]O- 7;C*A
M3*,1_OD3=Q;60F6O_Y[R^RSR:;^3> PO"/T>T%A.V8\YX*[V1@U0.;U*U4K(
M!..5"8$9:*FRW$H>\HS77F-_3<T#ZIY%NV?!9$Y&7-%"IHP-?77E#KODE/>:
M9_0J>RVQ3\8><PSW;O6:9),B08E&@@10:%6!+9$J/M,-8;0E2J@9S\?P0%U
M:7KYDEG2;40.)2.23 *O*!#6F7>Z!R][$$X=1'[ EGH(@:'F*J>S3#0Y>H5"
M"6IP7&[GD)5,;BE*I%(QV10$VVBZ@3<"(@KAL<2>H"=R\J;B.Q\K9][PK>0%
M14;:8U'#!/V\*]%4.(8[T.0,Q9Q(4#P+4(T^$#I$DAOW7IWC9CYZ)CO'93NB
MHD-7=*.+KRXHJC'DAKGT->@^R6B-6RZEH[9A@NH(X1/<AI/;&UK3)!T-&;M/
M)I:]-5RC"UW_1+0WW#=H<O07H0@([I42#O0S3,+)U61$!?#._1APB=0SX<0X
M":^2*<R2>$33PXJN?!W0P+;+%KA(P^0VADNXN)XE<#DB@L[ >O#Z)KPF4I_(
MX)003Q5M=-1D*]1;/TJ,2R)INWX[G [3ZJYKT@?Q;M1]8YKB9D!@0:KQ^/HJ
M -V-CVYC5>U;]D99&@#^MZ2)B]H)T'VAJ'_U&V=@F.&K_P!02P,$%     @
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
M,Z'Z;;I$8:T;9ED!JFOE>8TQWHX7_8!O0<NLQO)AQM,S'YJ6W3*>9\)CSWO
M:37W^LBIK9;9+1PSRC<1]FUU8%SN?ETI]?#3C5L_%RN9L2T>/UURHP,DNX*U
M35U:JTVH90LF9DHYXZAW[9EQ>^F#KJT,&QK 9)Z>RDW>RT:G7V .4>[))^UH
M)L@46F50P ENXM>8RXXDB]?V_P7,D'['OQQ#=X\/H<[>=31W$CH/B8^:"QWX
M;Q+D^QT/<H%36B[IV*Y)\3<8DR\)(LTO^_^YZ!$[CQYTQ[K%B[?<Y5#S4(S:
MD5]263EN$"F3$>:['WLJ#JN3J97>A/'3F\\#*'W/?#]?Q+Q81+/Y%(O)-(KC
M&1:8J*=)0@\GHVPRBR:S.5U%\ZLK-FX\FWHIXSF&K N4FTRGL&I&8QP;QXMG
M<]?%PQ-H6U(27<TG-(\6RP5-HV2^ +'V!_7+,L;1?#Z#C,5B0K-H"A/P9!HW
M:6Y%?$_3.)I-)AR))!K'')(%5,[&_&H9Q;/$E\L:_*K]"._\6-0-6>T =?HO
MXC#KA*KN1L-N6%K7KC8RC"QAFVQ1F0=4HFSWG [15W,Z6?X/>GJC!NE5KC9A
M. YU[2D44Y%3UD_@@#E/X*%N^R^$;>L6LUF[-++2QA<DE"B=V>/) 9TO?.3!
MAG;N&,?)E.*K__9O8GOLS'RR$GD8 ]MQU*=JQ5^SPJC=^<$?A[A)T*<ZVS1-
MN=SI?!?"UD2;K6RBITWF_Z.R:8>^"5+[Y'FL'<M1HBKP6?O'(!#3\:"!Z:X*
MS?K0,E[1/Z4P3 FL]2>9,A@,@_*8#IK2?S''O.Q)!+<3ODP;9)_4"' =7<6)
M_UU,N-"O8B: )5 _?U:5((99XGEBR=?8$\05G?M6,NI]R$(P-OYS':84'MS#
M-ZWN:?=%\"Y\"#ML#Y\3?\6?5@7\Y7*-H_%P,1N$L+4W3E?^L]A*.T3>+[<2
MD[CA#7B_UMJU-ZR@^TYZ^Q=02P,$%     @ ^H,)554DQ>MY!0  M1   !D
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&ULO5AM;]LV$/ZN7W'PLF$#5%FB
M7ITE!I*TZ3:@;5!G[8=A'QCI; N118^DXZ2_?D?*5JS$5HIVV)>8+W?/O? >
MGIB3M9"W:HZHX7Y1U>IT,-=Z>3P<JGR."ZX\L<2:=J9"+KBFJ9P-U5(B+ZS2
MHAHRWT^&"U[6@_&)7;N2XQ.QTE59XY4$M5HLN'PXQTJL3P?!8+OPL9S-M5D8
MCD^6?(83U'\NKR3-ABU*42ZP5J6H0>+T=' 6')]'1MX*?"IQK7;&8"*Y$>+6
M3'XO3@>^<0@KS+5!X/1SAQ=850:(W/AG@SEH31K%W?$6_=+&3K'<<(47HOI<
M%GI^.L@&4."4KRK]4:Q_PTT\L<'+1:7L7U@WLE$\@'REM%ALE,F#15DWO_Q^
MDX<=A<P_H, V"LSZW1BR7K[FFH]/I%B#--*$9@8V5*M-SI6U.92)EK1;DIX>
MOQ<:(8C@%4SF7.(K$V$!%V)!IZZX2=S)4),=(SW,-YCG#28[@)G .U'KN8(W
M=8%%5W](_K5.LJV3YZP7\(]5[4'HN\!\QGKPPC;HT.*%/4$KT (NRYK7><DK
MF&BND8I-JWWQ-G#1?CC#FV.UY#F>#H@8"N4=#L8__1 D_J\]SD:MLU$?^K@Y
MEW-[+E?\P?@(9U+R>F;]A;^N\5[#>27RV[_W^=Z+OM_W(/(ZY9#OE -,2*;,
M$>Y0Z;*>;42H4/-;$$LCHN!ZCC 5%3&>)*!4P+>L!S$%]2)"0]92/Q"*!$UH
M5 +8EH#;G1X[D_*^4W-.9]^QL2CXK L/SNYFGO-AI97F=6&\X\KX=(.SLJ[-
MG"8/R"4D+'+C,( C8%X0.F_N4>:E<?3G(*8=/X)?(/!&\1ZPCG6(4M_U6=H
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
MI]P\=A!,B!I1QQ Q,FM\-Q>LRH'T5,J(THGXH%MK',)N<*S/B$M(@J66&6P
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
MH=GHTW$"KANKSB';Q*N\LL2#$<V:7R)T(8#WUY8/N'="@N%M*YX 4$L#!!0
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
M[.A0#2, &#!#15DVY]ZUA!7.I?[1Z]MO[R7TXF;]!?ZV#XMH7S$,^':YF&
M0>O*=2SOZ&S(4JW'IVX)FY(&E5-%N/8Q2F/S5G6"M9*)"8E O*F2I&,IE* A
M'=;7,-?:"?QU>5OK!ZY1I[<ACV5@DXX;R0/ZX@+=O@[IYI%NU\EMO]MMB<"U
M:A8%<%4DU#47C[0+EO@;($K:6,[S*3^W)J@,8WLG *,JHMAH^'U56WD@3J;T
M#6?2J]0>U)ZRY22?ETZIK=_JFHE3^-?^)^QLG-[W75TDL<5$C$[$]P)#WXL?
MT[_ZX;D8'6-\1 _'0YZ1OGYL83-I56G 9ZGSNB.N;,,ISU@Z<H^-U<[/1U5_
MA:RC2F?384-3],6"HS:IWUO+!!MA-$J"R%XHNW!RO22H0&H63[9R;?5;114/
ME;1/7^ZS^,.&KB^N&LZ-YBT9FA]']NW(MD%.GL/,IV/\=T+;<TI6OX1EUBA=
M/N@\AS4NI4<W.YG3H;%X<OGA<O(T[N6()L<KVK@+] ZY%$20/D?XT*;&[NXH
MC52?SULV' V9U+W_$[@%-M-]B(NH9FST=PZH;V)@FMT%*>,&4L:=D/*KVFRU
M,(!K2PDEU=2/!)1N7A3%.PW"%CNR%2M/BM-QY2":8'C4%V^IO/W*Y>T')7WI
MTI(GG^T:_G**6$MSQ8CN8"ML$BYJ&@S:]*DM.GK.%CWJ5U,&_!Q2?) .(+XK
MQKC5.[PS2'(ERW"0(/A]K(B31$?CXWI9]=T>VY6BGK5O6P];;T4@5!;\[@?_
M2F-"?$&B'JW?+YG$MRJ:Z?'E%*BVH!*^4',L'0Y.GO> U/R^1[P)=LWO6,QL
M0%SRY5+)7#F:@.=SB]8JW1"#^JV;L_\#4$L#!!0    ( /J#"552 W3T, ,
M )L'   9    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;(U5VV[;.!#]E8$6
M7;2%&UV<V$'6-F"[+G8+I#7LM'TH]H&F1A(1B?225.SVZSND9"4I'&$A2!H.
MYW;F\#(Y*'UO"D0+QZJ49AH4UNYOPM#P BMF+M0>)<UD2E?,TE#GH=EK9*EW
MJLHPB:)16#$A@]G$Z]9Z-E&U+87$M0935Q73/Q98JL,TB(.38B/RPCI%.)OL
M68Y;M%_V:TVCL(N2B@JE$4J"QFP:S..;Q96S]P9?!1[,$QD<DIU2]V[P3SH-
M(E<0ELBMB\#H]X!++$L7B,KXKXT9="F=XU/Y%/V#QTY8=LS@4I7?1&J+:7 =
M0(H9JTN[48>_L<7C"^2J-/X+A\9V/ J U\:JJG6F"BHAFS\[MGUXXG =O>"0
MM Z)K[M)Y*M\SRR;3;0Z@';6%,T)'JKWIN*$=*1LK:9907YV]DE9A!C>P6>=
M,RE^LJ97,H6MR*7(!&?2PIQS54LK9 YK50HNT,#K.[8KT;R9A);J<-%"WN9<
M-#F3%W*.X%9)6QA8R133Y_XAU=^!2$X@%DEOP(^UO(!A-( D2I*>>,.N*4,?
M;]C3% ,-OG/P&N_+\]YN&]V8/>,X#6B?&-0/&,S^_",>17_UU';9U7;9%WVV
MI6V9UE08J R62G*45C>LD6(CS/T =C^\ !]HS2L-WST2N,.CA46I^/V_YT#U
MICT/JET6!C;(43SX+!M\0%DC$"?H.7E/<]4.-0SC =P5&O$9_8^&6W%\8<;1
MZC[Q66GI=PDEF$,\AE= JE?PMGVZR07$(]+';C*)O$7[ZR'EJB/EJI>4$^A,
MJPI61XM:LK++;1PA:ZW2FE.O_-ZB_@E.'/X_:OJ3G^GIRZWLA%/)5!KOZLQ1
MY9KM"\&!BO&KRISM^1<IK,MCF=LIXRMJY'5"G[$CX-KU=55KNCD&<"O2E!"N
MF+$#F&>:#A1XO;I=S=\T;,7.N)$<-4LF6<K !73OD%Y'VV=;N!74:D[OG;+4
M9MTBB2,?ZO?O.7K#)P<F <_]M6# K^;F[.RTW<TS;P[<1_/FVKIE.A?4I1(S
M<HTNQD26;JZ"9F#5WA^_.V6IRUXLZ/9$[0QH/E-TVK0#EZ"[CV>_ %!+ P04
M    " #Z@PE5%%3AI(<$  !2#@  &0   'AL+W=O<FMS:&5E=',O<VAE970S
M,2YX;6S-5VUOXC@0_BLCKCJQ4BAY@4![@%3:75U/V[VJ+[L?5O?!) -836S6
M=J"]7W]C)Z1TET95JTKW ?P2S_B9F6?&]F@CU9U>(AJXSS.AQZVE,:OC;E<G
M2\R9/I0K%/1E+E7.# W5HJM7"EGJA/*L&_I^W,T9%ZW)R,U=JLE(%B;C B\5
MZ"+/F7J88B8WXU;0VDY<\<72V(GN9+1B"[Q&<[NZ5#3JUEI2GJ/07 I0.!^W
M3H+C:>!; ;?B*\>-WNF#-64FY9T=G*?CEF\188:)L2H8-6L\Q2RSF@C'CTII
MJ][3"N[VM]H_.>/)F!G3>"JS;SPURW%KV((4YZS(S)7<_(F507VK+Y&9=O^P
MJ=;Z+4@*;61>"1."G(NR9?>5(UXB$%8"H<-=;N10GC'#)B,E-Z#L:M)F.\Y4
M)TW@N+!1N3:*OG*2,Y,OTB"$T(%/C"OXRK("X0*9+A22[PVT;]@L0_UAU#6T
MFY7I)I7F::DY?$9S#!=2F*6&CR+%]*E\EU#64,,MU&G8J/"O0AQ"Y'L0^F'8
MH"^J38^<OJC!= VE??O,*Z5[^Z5MMASK%4MPW*)TT*C6V)K\_EL0^W\T8.O5
MV'I-VB?7E'UID2'(^4YD/#C1&HT&)E+XS-F,9]QP,J**6 K$\RM,"J6X6,"4
M::[AN[,0;O#>P#23R=T_^XQMA+/?V!-MT5%4L(X*?,8U9A!4[78<P8TT+*O0
M'\,ITTO 'P5?LXQ(1C-$%7P@7JL[*D0L261!TW  P<#SAS%U.M6OFCB5:B45
M(^ZF.#.@K<VE*SH0>F$OK-LO4G1N#Z\/82'7J(0C-94;D3P\E1KTAM7_A4/A
MG/:3\F/X6=..BL#WHJA/.CK;;A/((/#Z0?^Q\[=9HMJWS@N&_;HMW1@.O%X8
M0-#WXB.?OO4B+PB"74*0BRGWB ,68R*IAJ9(0&P9[,"LT!1>K>E#/N/"36N'
M.W)0RO\S"X4<XO7[0=V6^Y>1*&<.JN4'UA _CJ%DQ1DFF,_(HBAPS A>R(SG
M>!!'WG 0[?"@FBBEJX$UH>J^W1<40S\<;)O:&Z$+6MD^]498>J%<[XAJZ==0
M"_IU+>@WUH)O3"E&V'<3_ON%<^_>5&[4]LJZ%==8XS?5U/@=L UJ;(-&/^[6
MT1<63P]NA9Q9(*X<G(M58>P:*1*2+DGTLOK:"&V_X=?\_LD1^EAJV^<"S%(6
MFLX!_:&LO"[)IKC@0ECX,Y8QD6#%SM ;#'WX>(\JX9HT;4I*6::W0^_(#^ #
MG"X9Y0AP 7/KJ+6["BBR=2'XOR1#'P0E93N3FO;D@C(&;9[0M@3OUST[3=P?
MUC$;-L9L)W5/GZ3N2Y.A4?TK"7=4@S]Z4S(<O0.VP'^\^/G_WW1HQO:N^5!7
MZ($7],/7T;YMC]X^)4W@A6$,E^S!W0;HX$N>.VN0*4'JVL-@0'*=7W-F>XX.
MO6@PW)L[W9UK?HYJX1XS]NBB0[*\\=>S]8/II'PF/"XO7UMTQR'/:,AP3J+^
MX8 .#54^8,J!D2OW:)A)0T\0UUW2HP^574#?YY+(70WL!O4S<O(?4$L#!!0
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
M   9    >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;)56;6_;-A#^*P>M&QQ
ML=Y?G-D&XF3%.B1MD&3MAV$?:.EL"9%$EZ3CY-_O2"FJG3EJ^T$42=T]?.Z>
MH\CICHL'62 J>*JK1LZL0JG-F>/(K,":R3'?8$-?5ES43-%0K!VY$<ARXU17
MCN^ZL5.SLK'F4S-W(^93OE55V>"- +FM:R:>%UCQW<SRK)>)VW)=*#WAS*<;
MML8[5']O;@2-G!XE+VML9,D;$+B:6>?>V2+6]L;@<XD[N=<''<F2\P<]^)#/
M+%<3P@HSI1$8O1[Q JM* Q&-KQVFU2^I'??[+^CO3>P4RY))O.#5ES)7Q<Q*
M+<AQQ;:5NN6[/[&+)])X&:^D:6'7VB9DG&VEXG7G3 SJLFG?[*G+PYY#ZK[A
MX'<.ON'=+F187C+%YE/!=R"T-:'IC@G5>!.YLM&BW"E!7TOR4_./7"%$< I7
M2+%)&-VS987R9.HH0M<V3M8A+5HD_PVD&*YYHPH)?S0YYH?^#K'JJ?DOU!;^
M(.!?VV8,@6N#[_K^ %[0AQH8O& @5 EM?,?":[W#X]YZ<YS)#<MP9E'U2Q2/
M:,U_^\6+W=\'N(4]MW (?7Z%4B+:\&F#@JFR60-K<GA?-JS)L-4&[E'4<$[3
MEZ7,^+91<,M(O'],1/3U2<&BXMG#O\>"&US^>'"4?S3YO\0,ZR4*"#P;1A\:
M4 7?2B(H3XPVNO'@B]D F -[I!C6"/D+3:%IG@+O8ZO:6@O&*?S:M=_U7G6Y
MZ'SCL4=>;?L_7X'Z=]2O!$IGKFS@&9F0QY@DXXB>].>17K'R"2<8NS!0$5%?
M$=%W*H(0;;C@4OV@Q(-XQR6^+P3BP;Z%N_+I<*(O@[[S9@E\ZWTZS#!D%(:$
M=S#Q)]3&B6X].PUB\_:B$.X*+M2IR>^^2^1-((Q<F*0QQ+$']URQZK6 G:UG
MAV&JX6@1WTZ)"RWA1?"9B=(D<-_8IS6]*($H(N,T[( /V7IVXOKF[:>::6 '
MJ4=OWW8GDR&1XU[D^">W?2?[%1$NJU(]VW#-U%90[P>K8'#!XU7P2L]79&3W
M&]J;,#J/8JC;.NDWR4F;LTCGBA)&9@'ES*-<>8FICI!2-Z'R\%PSC&@8DJA!
MHD>QSBM]()$+I O&BHH!4CN(0]IH^_)LV#-="[2&KA$HF,2@,WE&.Y-\D';,
MR+<3\CN!4>!2VWJ;B.F/\LBJ+0)?=7!5E^L2C>:)/0E2+78<'Y78V3ML:Q1K
M<Z608'Y6[;G;S_:WEO/VL/YFWEYYKIE8EXTD'BMR=<<);6'17B/:@>(;<W0O
MN:*+@.D6=/-"H0WH^XK3F=8-] +]76[^'U!+ P04    " #Z@PE58N#S;ZX"
M  "]!0  &0   'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q]5%UOVD 0?.=7
MK-RJ LF-C6T,20$)VD9)I4112-N'J@^'O6 KYSOW[ASHO^_>&0B5""_WN3,[
MX_/N>"/5LRX0#6PK+O3$*XRIKX) 9P563%_(&@7=K*2JF*&M6@>Z5LAR!ZIX
M$(5A&E2L%-YT[,X>U'0L&\-+@0\*=%-53/V=(Y>;B=?W]@>/Y;HP]B"8CFNV
MQ@6:[_6#HEUP8,G+"H4NI0"%JXDWZU_-$QOO GZ4N-%':[!.EE(^V\UM/O%"
M*P@Y9L8R,)I>\#-R;HE(QI\=IW=(:8''ZSW[M?-.7I9,XV?)?Y:Y*2;>R(,<
M5ZSAYE%N;G#G9V#Y,LFU&V'3Q@XH8]9H(ZL=F/95*=J9;7??X0@P"M\ 1#M
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
M;"]W;W)K<VAE971S+W-H965T,SDN>&UL?53;;N(P$'WG*T;9:@42;2Y<2KN
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
MH!&)"4 WG=XLK*I\=RV5I5[UTX(N1]0N@,Y7BLK6+ER"[KI-_@-02P,$%
M  @ ^H,)57^3,&5H P  ^P<  !D   !X;"]W;W)K<VAE971S+W-H965T-#(N
M>&ULC55MC^,T$/XKHW!">Y+9.._MTE:ZWHLXQ$&U+2"$^."FTS;:Q ZVN^W=
MK[^QDPU=*-5^2<;VS.-GQH_'DZ/2#V:/:.'4U-),@[VU[5T8FG*/C3"WJD5)
M*UNE&V%IJ'>A:36*C0]JZC#F/ \;4<E@-O%S"SV;J(.M*XD+#>;0-$)_GF.M
MCM,@"IXF[JO=WKJ)<#9IQ0Z7:']M%YI&X8"RJ1J4IE(2-&ZGP9OH;IXY?^_P
M6X5'<V:#RV2MU(,;?-Q, ^X(88VE=0B"?H_X%NO: 1&-OWO,8-C2!9[;3^@?
M?.Z4RUH8?*OJWZN-W4^#40 ;W(I#;>_5\0?L\_$$2U4;_X5C[\L#* _&JJ8/
M)@9-);N_./5U>$E W ?$GG>WD6?Y3E@QFVAU!.V\"<T9/E4?3>0JZ0YE:36M
M5A1G9S\KBQ E\!W<XR/* \+-2JQK-*\GH25\YQ66/=:\PXK_!RN'3TK:O8'W
M<H.;Y_$A\1K(Q4_DYO%5P!\/\A82SB#F<7P%+QF233Q><B59 UU^E]+KHM/+
MT>YZW)E6E#@-2/\&]2,&LV^_B7+^_15NZ< MO88^Z\MO8/X9%EIM#J6%G\@'
M_O1\884G"_-:E0]_7:)^%?PR]=5>(SX[,EA6I^<3= +H3V P;CY*L'MU,$)N
M# ,\E=A::%&7*"U=8_/:GY;[1&?64TJZ5]D'VOL+:B 4@A-'> 71B.4%=T;!
MLCPE(TD9YQD9<<S2* )W>:'5JD1C*KF#*&-)EL.8Y>.Q(Q=GJ4>)<UA:I8F-
MQS>][?*N*!:B-"56&<04%O,"EMW"0.YJ<$*[C2!BXSR!G!6C E(6Y07='\J_
M?AE&S/(\(XRB2"!C*5&@F93#2IU#O(*4LRQ)7"4B%G-7DH*VS&*W-&(\B^"*
M\K)!>=E+E,<H ]?%76$7J'V_EU247]9UM1.NA3)X?VJIFY(N5E7C_-06EK1D
MMJ+KL2_3ZE4ZE[7Z!PKM).DV?8<E-FO2#A7EN1Q[Z=WDT'0BIF'B/FE?V7^=
M$=65C7GD_T7BA#;F3H CJGK^'U60,+/(ZW3DOMP+='SQ!,*SAMR@WOEGQT"I
M#M)VO7F8'5ZV-UU#_\>]>Q8_";VKI($:MQ3*;PNJGNZ>FFY@5>O;^UI9>BR\
MN:?7&;5SH/6MHJ[7#]P&PWL_^PI02P,$%     @ ^H,)50"!SS,;!   ?@H
M !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&ULM59=;]LV%'W7K[C0AJ$%
M%'U0G^YL W&6=AO0-HC3]&'8 R-=VT(DT27IV-FOWR7E* GFNAFZO=C\NI?G
M\!Q2=[P5\E:M$#7LVJ93$W>E]?I-$*ARA2U7OEAC1S,+(5NNJ2N7@5I+Y)4-
M:IN A6$6M+SNW.G8CEW(Z5AL=%-W>"%!;=J6R_L9-F([<2/W8>"R7JZT&0BF
MXS5?XASUI_6%I%XP9*GJ%CM5BPXD+B;N:?1FEIGU=L%UC5OUI V&R8T0MZ;S
M6S5Q0P,(&RRUR<#I[P[/L&E,(H+Q99_3';8T@4_;#]G?6N[$Y88K/!/-Y[K2
MJXE;N%#A@F\:?2FVO^*>3VKRE:)1]A>V^[6A"^5&:='N@PE!6W?]/]_MS^$E
M 6P?P"SN?B.+\A>N^70LQ1:D64W93,-2M=$$KNZ,*',M:;:F.#W](#1"E, )
MS%=<XHEA6,&9:$EUQ>W!O;KB-PVJU^- TX8F+"CWR6=]<O:5Y!F\%YU>*3CO
M*JR>QP<$=$#+'M#.V-&$OV\Z'^+0 Q8R=B1?/+"/;;[X"'L%/;]#]/KHY'"T
MN2]OU)J7.''I0BB4=^A.?_HARL*?CV!+!FS)L>S37H^9U>."W]-%T' J)>^6
M:-H>?%P;>3PX-<:N]3W\88G %>XTS!I1WOYYB-/170]SFM>[9THZI ,..C@6
MJ8+/NO+A]&[I.Q\W6FG>576W!*Y +. &EW77F3YU[I%+R%CBI7$$/P+SH]@Y
MWZ$L:\/U59323)C :XC\47H@V;/=(<E#+V1YGVCDS#41!V'/1@'V:>VY?#L8
MCLB6#K*EWR?;)2HMZU+3?(^5N/US\%-7ZW\M[5%D_XFT\(Z8:*"G!N$MKR5<
M\V:#+Q(\\EC$O+R(Z;#CW$\*Q^8BQG'.O# ; 8O]G#G7=!3&!JQ@7ASE9(,X
M\;/4H4=X@;6=2E.O"!G-)*D?%\X'T9W<]5&'-*:-D\S+8[MQ;%+]'WZ.XI&7
MIQGM$8W\(GLDEXR\-"N ,3_+'LE%A<>*T'@\-";_!@661UZ8)(9 Z&?),9]F
M@T^S[_/I^<Y\ @P@\N<97]>:-_5?6)$K6[&AU2_SY%$4ASUYM9*(SP2"KROV
MT'#Z@PI9!$/+H6M%VI0KRZ'".ZI!UI9I*916=)QY9 XUB<T+$'GQR+Q'&0N=
M.:<O@HVB4N46M5&ZC\ECTI+,&GE)$I,!8^<==BAY8U?SBK[1-=UE;HJ-?4CL
MY9$)R+(<R(B,G.YE2>:<T:S16A*P;H-@/!TE.:TLPA%Q2ITK08=.D%)OE!O[
M,B]EH8%*6'-FD-/K==@.P9.:H$6YM)6/(D0D75\>#*-#<77:UQ2/R_O*[#V7
MY'8%#2XH-/1S>F=D7^WT'2W6ML*X$9KJ%=M<48&(TBR@^86@[^R^8S882L[I
MWU!+ P04    " #Z@PE5I0WW]X8&  #-$0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970T-"YX;6S%6&UOX[@1_JY?,?"Y!P=08I%Z]5X2(,EVKRF2O<4F=T51
M] ,MT19O95%'4GGIK^^04I08JZANO_2++9$SPV?FF1F2.GV4ZILN.3?PM*MJ
M?38KC6D^+)<Z+_F.Z1/9\!IG-E+MF,%7M5WJ1G%6.*5=M:1!D"QW3-2S\U,W
M]D6=G\K65*+F7Q3H=K=CZOF25_+Q;$9F+P-?Q;8T=F!Y?MJP+;_CYM?FB\*W
MY6"E$#M>:R%K4'QS-KL@'RY3*^\$?A/\4;]Y!NO)6LIO]N6Z.)L%%A"O>&ZL
M!89_#_R*5Y4UA##^Z&W.AB6MXMOG%^N?G._HRYII?B6KOXG"E&>S; 8%W["V
M,E_EXU]X[T]L[>6RTNX7'GO98 9YJXW<]<J(8"?J[I\]]7$X1('V"M3A[A9R
M*#\RP\Y/E7P$9:71FGUPKCIM!"=J2\J=43@K4,^<?Y:& XGA&"[R/UJAA8V5
MAL4]6U=<'YTN#2YB19=Y;_"R,TC?,9C K:Q-J>'/=<&+??TE@AL0TA>$EW32
MX%_;^@3"P <:4#IA+QP\#IV]<,)C#9U_8^YUVM&XMJV1#[IA.3^;81%HKA[X
M[/S''T@2_#2!+1JP15/6S^^PYHJVXB W<-EJG-5ZCQ@?UL]O!^ ?SA&XYT\&
M+BN9?_OGF$^3JX[[=,O5EBO(<5%1<,7<:KID*  QTA$'U+L4\D9L.&"6YM^@
M42+GL&#:HK_CC>&[-5H@CCER!'-(@I,X\'YC5>L\%%JWO'@Q.H>0^L$J]IJJ
MU1_@$Q,*'EY$^Y5^_"&C)/U) W\2VHAZ"Z)^X-I@ES#XB*L^&80YA]1?Q<1#
MAM'29VQMMC58\9PUPK *6/%[VZO-84%(!D=>[_'5GL>(:N6O:/;J:X<6^YLV
MK"ZLT=[E6Z;R$LCJQ=\P]*. ^&&\\D:#V7"5(P!L?:ATLH(_C8OU"R9^$B5^
ME@:]5U.RC\*4):\*,!(TSNC-\Q[@GZ^N.\Y*6:$NR'4EMJRK?%2QTR1 \(%W
MUZZ-M '#Y</$CW#Y"=)OV3.$KW2'\4F0OD\W1;[3B/1\8_LW%7>,O/*-YGG#
M1(%]MI&8\4[-)S'ME2RU>E21Y;EL:U10/.?BP17)'$CR'LLTC/Q5L(*)(HZ'
M(HX/+N*O/)?;6OP+_;XN$*+8"'R\T BZ+VR%[T@+W BV%A46-<8&Y]L=CA]6
MW)-HQHO[BNG2AL./,2(7WX?*AQHC&ZVH=XWU51NI+"S,91)X7WI*^!,>##0.
M6_32E#896Z4L#ZSS+TFM-)X?E'GVH:F8G4)ACFXWEK!NF31,O5\:1P7F9L5Q
MCP5E-]-CN3EN\:4SUV-"FQ_Y QXF&@R0X7E9RTINGR'R24B]*[=C(A3%JRZA
M2]%HS!F:)MZ]8L@!VW$[$-+(^RSKXUSN&HY[(-LJ[K)(PRKP?I:R>!15!31S
M23_$J&'/CI,%71'L&3<.;?7*G0]R<&6!FBCSD6^XLC0;]C2(/F/7\:.,XOPO
M+G9O;, B) E.[+= ZWT?6/:2.$-WZ@F-PO?93/T 8[#'9^S'4?K?$!JN#B$T
MQ+2BAU-*7!?X)&I6YX>(D\B[D?7VV'"U>VT,KZ![L-%XGI#,)U'P7J)@D&BP
MERBV[P;O90KQ*4Y>U\>-DKG=JVV%N6W PBFZ]5UK2E(_BM[D%0E3/Z-T)+%6
M?A:F-K6PD"WO.1(M#":33\/_G'+$S[)@7&HS1!@WO,C*O(GBVJT0D:F$I;;&
MPO&,1?>2Z,"</:#7)D.O30[NM4,[Q502AA_?X'$?VR[NL/56V-#V;1=/4+?L
M=XE[0(78#FRRDS#&FZP+1;?[_:KYIJW [4R+OV.&Z*/Q[)QW?0SL@7PUV<V
M?M?/L#3>;VE O'NWDXM^'W)>B]?H]#S-(7.)^;^A[ZH+DLGZ D*_+S'L1I-5
MAO5\>)W!Y^7%H>X2BD<=K)F);$R';$PGLW'LR.X#=DQP-TC,Q>X6??C!?7J]
M^Q)CM'?? KPM<7=;NA-/XS.>/9ZY,YJWN*[!E++5&$5]!(NV9BWV&E[L/?>!
M5!CENN7=.3W#1C&'./"3!&G#*E]44J,)42-_W!W @RRV(CY)D.W_#]"8^$%H
M462QO\HZH#W"'N_<=CT285^UCXF]?\#16"8LWURQ=_8(:3\D:'#-N[MM#Z/#
MMXJ+[HK^*MY]Z,![PE;@2;OB&U0-3E(\P*GNXT'W8F3C+NQK:;"&W&/)L5R4
M%<#YC<0K;/]B%QB^X)S_&U!+ P04    " #Z@PE5O&1V@&4$   &#   &0
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
MA 2$@BP8#8%*7F $NB?B$:V^HK? 8H[SA(3H PNKFS_[(#%)Q2\*=P];H!M
M<Z!AHNSYB/ZZ@6P%_&]U\PC=X"_I]X%C6ZKD=0IV6"4Z+Q/UGDBTAVX8E8E
M 8T@,N#]=ORP!6\KT6OEO;WR<Z^5\(\-O40]YP)YCN<9GF=Q/MPUI?/_1@_^
M\^@-,7JU#7L%7_\)OD^W[Q\"'RT?9@_!TE3<5KA>3:]%CD.86&JY%,"W8$U_
M_,$=.K^9E.V2S.^2+.B(K%&#?EV#?FL-]M-23>%RX0$N?D+Q83ZF^]E\@7+@
M>FJJ5XFI6.4XKE,,I%]5VZES>348V]OC*ABC1EXSRC=S736C C-7'=308U#K
M,6C5([@)9JT+3BO\I9[LDLSODBSHB*Q1@V%=@^$K>7)H<HA[XJ.%.>K$DF=1
M!>8HU^S)JUJ/JU8]%K/;F3\SY=>*>ZD9NR3SNR0+.B)KB#^JQ1^]DAE')F\X
MIPOD65&^.:IWXD9SU-#LQC>U(&]:!3E\JUV@CS(!WKI<MG*]U*%=DOE=D@4=
MD34*XCJ'SWGGE3Q:#?2,L1;GA?GGA07/AC5E.=KEN*VRS-*TWHRT;R):>5[J
MTD[9_$[9@J[8FA7Q#A7Q7LNHWO>><4]=^GR,?T9,T!Y32F$?[<955G%Q#")0
ML8,N=T1U;WW4,BL.&$[ZY^[UPC7T^_IHIMC]'^C+<YT;S&.B=MLIK-50^IO;
M0KP\*BD;DN7%6<"*225Y<9D CH#K '5_S9C<-_0 ]8'5]!M02P,$%     @
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
M,\:98:#)SPF4,U"_,/[A_HJ<?#@E'P@3Y'LA*TU%KON^0==6NY\U#D>UP^B
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
MSH%1[R/CV/5"62MDELT0SPSQ2FC$@EFB]0YLGQL>Y%;Q>Z';ZNEO4$L#!!0
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
MG/F]2L$J$)I)012L)MZ/\&::6KP#_&70Z)TQL9DLI'RUD_MBX@76$'!8&JM
M\;.%*7!NA=#&OT[3ZT-:XN[X4_W.Y8ZY+*B&J>0OK##EQ!M[I( 5W7#S*)N?
MT.7C#"XEU^Y-FA8[NO;(<J.-K#HR.JB8:+_TK:O##B%,CA"BCA#]+R'N"+%+
MM'7FTII10_-,R88HBT8U.W"U<6S,A@E[BG.C<)<AS^1_I &2D._D7FQ!&*G>
M<3QOCY3(5;_,0)/S&1C*N+Y R/-\1L[/+L@988(\E7*CJ2ATYAOT9)7]91?_
MMHT?'8G_:R,N21Q\(U$010/TZ6GZ#)9(#QT]_$KWL1)].:*^')'32X[H/=(&
MJVM ,<H'LVGI5XYN.V2;A^,D'67^=M?T &H4I5&/^N(M[KW%)[V]8#_8:M=*
MKA7H07NM0KH3.!E=AWON#D%I$*;#YI+>7'+2W!T3#/_"@JRE'/X/DH.H81",
M]RMWB+H*1N-A;VGO+3WI[4D:RH<LI0?'%..3[EDZ1$7C.-FOE[_3@_;^^TW5
MF@E-.*R0%UR.4$:U=TH[,;)V;;F0!IO<#4N\AD%9 .ZO)+9F-[&=WE_L^0=0
M2P,$%     @ ^H,)5<7-&FYW @  A0@  !D   !X;"]W;W)K<VAE971S+W-H
M965T-38N>&ULO99K;]HP%(;_BI5)4R=U)(1+@4&D03MM4[LANHNF:1\,',"J
M':>V4ZBT'[]C)[685#R5:?M"?#OO>?S&YF2XE>I&;P ,V0F>ZU&T,:88Q+%>
M;$!0W9 %Y#BSDDI0@UVUCG6A@"Y=D.!QFB3=6%"61]G0C4U5-I2EX2R'J2*Z
M%(*J^S%PN1U%S>AA8,;6&V,'XFQ8T#5<@_E<3!7V8J^R9 )RS61.%*Q&T>OF
M8-RWZ]V"+PRV>J]-[$[F4M[8SKOE*$HL$'!8&*M \7$'$^#<"B'&;:T9^90V
M<+_]H/[&[1WW,J<:)I)_94NS&46]B"QA14MN9G+[%NK]=*S>0G+M?LFV6MMI
M1611:B-%'8P$@N75D^YJ'_8"FNT# 6D=D#KN*I&C/*>&9D,EMT39U:AF&VZK
M+AKA6&Y?RK51.,LPSF0?I '2(2_))>#>-#DY!T,9U^03[$Q)^8MA;#"-71PO
M:LEQ)9D>D'Q?Y@W22DY)FJ3I[^$QTGG$U".F3J]]0.^*[I@H!?E^!6(.Z@?Y
M269 .;G0AB*\ W^8>XPVJ&X/_4 7= &C"$^U!G4'4?;\6;.;O JPMSQ[*\A^
M"5H#G)*/!2AJ6+ZN<$]Q!_;&^ &T6PER\@VH>M3Q<)9F0NXQ4@> VQZX_52S
M*\"+G:FNHB8ALX/J1YK=\>R=X\QVYLH5F<C<*/P?"!@=SM#YH\]=S]H-^XPO
M_V\.=5#]2)_///O9?SG4X2Q-YW4 M^=Q>T^U^DE'.JA^I-5]S][_YT<ZG.&P
MS?%>5;$%^HJJ-4.O.*Q0*6F<X5U15=&K.D86KM#,I<&RY9H;_$X 91?@_$IB
ML:D[MG;Y+X_L%U!+ P04    " #Z@PE57Q#>&F8"   "!P  &0   'AL+W=O
M<FMS:&5E=',O<VAE970U-RYX;6RM5>]OTS 0_5=.^30DUOQ:US&ED5@K! A0
MM0$3'[WDVEA+[&([[?K?<W;2J)W2; B^)'9\[]U[9^><;*5ZU 6B@:>J%'KJ
M%<:LKWU?9P563(_D&@6M+*6JF*&I6OEZK9#E#E25?A0$EW[%N/#2Q'U;J#21
MM2FYP(4"75<54[L;+.5VZH7>_L,M7Q7&?O#39,U6>(?FQWJA:.9W+#FO4&@N
M!2A<3KWWX?5L;.-=P$^.6WTP!NOD0<I'._F43[W "L(2,V,9&+TV.,.RM$0D
MXW?+Z74I+?!PO&?_X+R3EP>F<2;+>YZ;8NI=>9#CDM6EN97;C]CZ<0(S66KW
MA&T3.XD]R&IM9-6"24'%1?-F3VT=#@#AY 0@:@'1,T T/@&(6T#LC#;*G*TY
M,RQ-E-R"LM'$9@>N-@Y-;KBPNWAG%*URPIGTFS0(8SB'+TC%T/L!?$=5 1,Y
MS+G.9"T,W#**/)NC8;S4;Q+?4';+X6=MIILF4W0BT^=:C" .WD(41%$/?#8,
MGV-&\-#!PV.X3YX[XU%G/')\%R?X[MT&8PYL@XK.*^1[H\H:/0?Z46C$Q0I*
M5YH^QTT*.B,VA_UA-FDP"N*KQ-\<.GLQ[,A!W#F(_\W!D@LF,AS0'_<*NPR?
MZ7\Q[$C_1:?_XN_T*[1MIZLX&'L&N8 =,J5[=@3.?M%*[U$<SCQI*2^ADL(4
M?:69O8[A7<L X17D;*<'#N:X*\OX_Y;E>)L'BC*<-WI%4889XH:AKP;^08>R
MM\-7IE9<:-*\)*I@-"%FU73<9F+DVC6M!VFH!;IA09<4*AM ZTM)C:N=V#[8
M77OI'U!+ P04    " #Z@PE5C3?PC0$#  #M"0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970U."YX;6RE5EU/VS 4_2M6Q -(@WQ_%*65:--I0V-#%-BSV[B-
M16)GMDO9OY_MA"Q-TE)M+XWMG'/N/==N?.,=92\\0TB MR(G?&QD0I37ILE7
M&2H@OZ(E(O+-FK(""CEE&Y.7#,%4DXK<="PK, N(B3&)]=H]F\1T*W),T#T#
M?%L4D/V>HISNQH9MO"\\X$TFU((YB4NX00LDGLI[)F=FHY+B A&.*0$,K<?&
MC7T]#Q5> YXQVO'6&"@G2TI?U.1K.C8LE1#*T4HH!2@?KVB&\EP)R31^U9I&
M$U(1V^-W]<_:N_2RA!S-:/X3IR(;&Y$!4K2&VUP\T-T75/OQE=Z*YES_@EV-
MM0RPVG)!BYHL,R@PJ9[PK:Y#BR!UA@E.37"Z!.\ P:T)[JD1O)K@G1K!KPG:
MNEEYUX5+H("3F-$=8 HMU=1 5U^S9;TP4>=D(9A\BR5/3+Y3@8 /+L$W),O-
MY6!&BY(21 0'=%TM@_F;/)?R>9X@ 7'.+R3N:9& \[,+< 8P 8\9W7)(4AZ;
M0F:EM,U5G<&TRL YD($+[B@1&0=SDJ)T@)\<YP='^*:L1E,2Y[TD4^>HX.V6
M7 '7^@0<RW$&\IF=3K>'[/Q?]/D_1]\KAMN<#U?K>0?T?I2(08')!N3Z)*PH
M%X.;7,D$6D9]G%XG(V<4FZ_MPO4Q0=C!)'V,';G!/F@^ +)]KP'M.?4:I]Y1
MIXN,,G$I$"L^LEKI^*WHOMVUVL=XOM6QVL>,HJ[3/B8([&&C?F/4/VKTD0J8
M WKJQOJ]#&S/BSIV!T!V=_N3/LB)U!G?,SR@%-G^L..@<1P<=?P,&8;+''UD
M->@GV#I5E=,^QO;#CM$^QO<[Q9@/Q(H.G."PL1F>L+$?> S[?YW0ZFS"; #D
M=(]FT@>Y;F1W;/9!CC4:=7R:K?NK0&RC&P<N/6R)J#Y5S6K3F]SH*[FS/K6O
M9_; >B)[F:KU^"M?-4)WD&TPX;)J:QG*N@KECK"JN:@F@I;Z]EQ2(>]B/<QD
M/X:8 LCW:RIOT'JB C0=WN0/4$L#!!0    ( /J#"57IV?I"20,  ) ,   9
M    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;)U776^;,!3]*Q;:0RNU!9L
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
MFUC?+K&3!VD"\/U<8'/7#$ROV/XWF/X&4$L#!!0    ( /J#"56;2C!+M 4
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
M/$6[JAM276#DQ@V&A30X9MRRPKD.RB;@^4KB<.@#.VN&+T7Q%U!+ P04
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
M.>/5A:-J2+8N:_:"274#*%]3=4D#KB>H\253=;MNZ&M <^V+_@-02P,$%
M  @ ^H,)5?].,;5V!0  QBT  !D   !X;"]W;W)K<VAE971S+W-H965T-S$N
M>&ULS9K;;N,V$(9?A7"+H@NDL21;EITF!K+6L4 6QF:[N2AZP4A,+$0279**
MD[=?ZF#9\H&QLE,@-[$._+\96K_)B<C+%65/?$&(0"]IDO&KWD*(Y46_S\,%
M23$_ITN2R3L/E*58R%/VV.=+1G!4BM*D;VC:J)_B..M-+\MK<S:]I+E(XHS,
M&>)YFF+V^IDD='75TWOK"U_CQX4H+O2GETO\2&Z)^'LY9_*LWU"B."49CVF&
M&'FXZEWK%X$^*@1EB^\Q6?&M8U1TY9[2I^(DB*YZ6I$124@H"@26'\]D1I*D
M(,D\_JNAO29F(=P^7M/=LO.R,_>8DQE-[N)(+*YZXQZ*R /.$_&5KGQ2=\@L
M>"%->/D7K>JV6@^%.1<TK<4R@S3.JD_\4G\16P)]>$1@U )C5S X(AC4@L&N
MP#PB&-:"X:DIF;7 /%4PJ@6C4P56+;!.[?2X%HQ/C3"I!9/2#M7S*Q^^C06>
M7C*Z0JQH+6G%0>F@4BV?>9P59K\53-Z-I4Y,OU!!D&Z@/] =9@QG@J/?;2)P
MG'#TC;R('">?Y,U?41_Q!6:$7_:%#%N(^V$=PJY"&$="C- -S<2"(R>+2-36
M]V6Z3<[&.N?/AA)X@]DY,LPS9&B&?B"?V5OR5Z0/2[5VJ#=J]5]Y=HX&6BDW
M#LB=T^6'<G?5<IN$4JX?E7NGRP_UW7_[FZO4^NB .CCAL=7RH<(&@\:Z@Y(W
M/,*;)9AS1!_6SD64H7*P/D/."V%AS F:LS@D6VUXTTCZ/,Y01),$,XZ6A%7^
M_G2@7Y^5>133T05?XI!<]>1\PPE[)KWI;[_H(^W/0^:$A-D5;%3"BGGM>2H?
MZ_.V'=]LX;[9PJM:C+=:#,\ML]W(A^Q7  1K^6K8^&KXL[Z*D)VS.'M$<\)B
M&I56JH;'@_Y1QNOJ'TB87<%,A7_V6U@37=OU$&12'B3,AX0%0+"6+<W&EJ;2
MELT()BB:YRQ<R!(/S6B:RI+Q5M#P"?US0])[POX]9$$ENZL%(6$V),R!A+F0
M, \2YD/" B!8R]2CQM2C]XZU7_+"S,6]6Q+*T5;$A*,93A(Y^MZ_'IO0%:.P
M,I.N/P%(F T)<R!A+B3,@X3YD+!@M#?)C>0D9XP'S337<K?5N-OZ(!6J,H^N
MWH:$V9 P!Q+F0L(\2)@/"0LL=?'>,O:X,?;XM%I$&G1&LZQ^<[6*Q0+=77\/
MT(R1*!;(Q6&<Q.)569HH0W7U+B3,AH0YD# 7$N9!PGQ(6  $:WE\TGA\\F%*
M$V4F77\"D# ;$N9 PEQ(F <)\R=[U81I:MKN_\P!4,R6N75M\]Y7^R"UB3J1
MKNX&I=F@- >4YH+2/%":7].VJPI][Y5@ !6S;?&MI0U=7:44E8A/DZAX4W?M
M(9Q%Z!O.6<Z'EFDA+[WW-\Y652CJ.)T=#$FS06D.*,T%I7F@-!^4%D#1VDXW
M-DXWE$ZOWO\%G.>[KZ;/T&U9=IS)^H0O$B+'_/6 OQ[FWZQ.U,$[V]_8FQX-
M:VA-K)WYT08-ZX#27%":!TKS06D!%*WM[,T:G_[3BWP=%V/4 3N[>;#GYL'8
MTH>:N>MFR+ .*,T%I7F@-!^4%D#1VF[>K"SJZJ7%IMK8>%=9=X N'(+2;%":
M TIS06D>*,T'I050M+:?-TN2NGI-\G^N.\S]M6=-&^S4"3-UCIU]#;H>"4IS
M06D>*,T'I050M+:O-ZN2^KN7)=];=>PO,1W81S%3Y]79RZ +BZ T%Y3F@=)\
M4%H 1:N\W-_:ZYD2]EAN%.8HI'DFJBV4S=5F,_)UN05WY[JM7SC5EN(-IMKA
M?(/98YQQE) 'B=3.+>E:5FT:KDX$798[2N^I$#0M#Q<$1X05#>3]!TK%^J0(
MT&S=GOX 4$L#!!0    ( /J#"577==K>JP(  #T(   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<R+GAM;)U6:T_;,!3]*U?1/H $)$V?0VTD6IBV24P5:..S
MF]PV%HZ=V4X+_WY^I*% 2>F^-'[<>WS.<7)OQQLA'U6.J.&I8%Q-@ESK\C(,
M59IC0=2%*)&;G:60!=%F*E>A*B62S"45+(RC:! 6A/(@&;NUN4S&HM*,<IQ+
M4%51$/D\128VDZ 3;!?NZ"K7=B%,QB59X3WJW^5<FEG8H&2T0*ZHX"!Q.0FN
M.I>SD8UW 7\H;M3.&*R2A1"/=O(CFP21)80,4VT1B'FL<8:,62!#XV^-&31'
MVL3=\1;]F]-NM"R(PIE@#S33^208!9#ADE1,WXG-=ZSU]"U>*IARO[#QL<,X
M@+126A1ULF%04.Z?Y*GV82?!X.Q/B.N$^&U"[X.$;IW0=4(],R?KFFB2C*78
M@+31!LT.G#<NVZBAW-[BO99FEYH\G?P2&J$3PSD\$"D)U\H,[_V5@EAN5^'*
MVDWU,YQ<HR:4J5,3]P5"4#F1J,:A-F0L9)C6!T_]P?$'!P_@5G"=*[CA&6:O
M\T,CHE$2;Y5,XU; GQ6_@&YT!G$4QWOXS#Z?WFFATVV,[3J\W@=X4UQ1SBE?
MF;>,$9XBG%!>NW6ZSRX/UW=P]MM;)]$X7.\*>!\Q_-J)7J)>\>PU/'O_P3,3
MC!&IH$3I.>^E[)$'+91]Q&@GHG<Q[.]GW&\8]UL9WSRA3*G"[ QX52P,0_.>
M>F,/>=P_Z/'[B/,6DP<-Y<%G*6]<8<$,R!JEJ9. ]1Z4DA[E_N"@^X,CW!\V
M4H;M4GAVQ$L]/&AX6\0K@J.&X.A8@I_S<W30S[8(SS7<J<0%RI5K4 I247'M
M2UFSVO3 *U?ZWZQ/36_TK>P%QC?66R+-%ZN X=) 1N9" Y"^6?F)%J6K]PNA
M3?=PP]ST=Y0VP.POA:GY]<0>T/QC2/X!4$L#!!0    ( /J#"55Z -R&%P(
M -L$   9    >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;)U4;6^;,!#^*Q;:
MAU;J8@)I5E4$J4DV;9,Z1<FZ?7;@ *M^8;8)Z7[];$,8T])HVA?L.]_S^)[C
MSDDKU;.N  PZ<B;T(JB,J>\QUED%G.B)K$'8DT(J3HPU58EUK8#D'L09CL)P
MCCFA(D@3[]NH-)&-853 1B'=<$[4RQ*8;!?!-#@YMK2LC'/@-*E)"3LP3_5&
M60L/+#GE(#25 BDH%L'#]'X5NW@?\(U"JT=[Y)3LI7QVQJ=\$80N(6"0&<=
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
M%\/*^K?L"'K0!=XC%;)<U,T$2 Q, >3S'95%7M51$]3_0JS^!U!+ P04
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
MJZ6VFZHV7O <A?AR((L?QVR+!_,/[Z!O?^[BT!!8B]%1S>A(R^@/E&PPH"M
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
MR=ISO!,^[S:?6Z[E,->^;OD!+.J\1 ^5<E'5)&\S,_<IZ['=4BZ'*?=K5B'
MTL[FH[(MJIKD[5EA6E\FVS3?,BM__0I>.-397%1.1563O$V]E$]GK._:KBWV
MA4EUR%H$6,+99MQ%OKBK?#MF?^<SWG/7Y!8K.8R5KHL18#EGQU'Q$E5-\HZ)
M8#J;>3V.6\+D,&$.7XT "SE[C<J7J&J2MZ=_3YB@O =QN"5'#I/CH.4(L(:S
MSZ@8B:HF>7L6^&0J)J+'9DN2'";)5ZU'@#6=;4=%2E0UR=M(R;B8>WW#;@N5
M_*N@$HYV=A@5*E'5)'>"2FZADL-0^3Y*PF3QR@$V*E.BJ@6H:I*WF9+2GDY%
M6*84,%-^T,G=2:[2#5FJK<ZBO([T_2@/JSI_^0@5*E'5I&A#99_IEB@%3)0?
MS';1AR],IQUU7M:P@+._J-R(JB9%QVIBP7@/. H+CL)Y ?#JN9_I=!P5)E'5
M E0U*3J6$_?W)!8E!8R2]9[DMONB1@5)5+4 54V*#I 4@O9@C:A]$Q0&R;Z)
M,_(/N4J6RES@4:[,1W*=ZH7*,O+9'&N8+M9EIU[-;A9/"\$I-_@@G/.$BI^H
M:A)+K9E.2ZD"IM2KY&1;)2JM)VII$]69'U1D154+4-6D:"/K9"I$7QU98A4P
ML0)U]-H%L'"+SDE!Y5M4-8FEULR=Q6 !8_#0-1JPC'-"4,D754V*-OG2&>VM
M$@N^ @9?H$I>L?P5;LPY'ZB<C*HFL=2::;,X+6"<'EP@J.B,JA:@JDG11N>I
MQWKJP[?L[+_P-=G^^ABZ]A5NP34'J&H!JIK$4FOFRB*W#R/WT** 99P3@@K>
MJ&K2;X,WFTSZ[AJ^!6__A1G;_JIP7_D*M^6<#E0J1U636&K-K%EZ]U_Z^N[
M^D!E>%2U %5-5FJ-MQBQ5GF,:^^-*UX+^#%,[Z(D([%:F3#O[=345[I_T]Y^
M(]?;\E5RMSHW(ZCRXUJ9FT5:[&#^O](Z?]XHWDYW>-_A^;]02P,$%     @
M^H,)54:F4_HH!0  L"(  !D   !X;"]W;W)K<VAE971S+W-H965T.#0N>&UL
MO9K;;N,V$(9?A7 711;8C43*IZ2.@:R#MKY($"39%D71"\8:V\1*HE:DXP3H
MPY>2'5&VI4GDE7J36+9FAO_PI_3I,%K+Y)M: FCR' :1NN@LM8[/'4?-EA!R
M=2ICB,PO<YF$7)O-9.&H. 'N9T%AX##7[3LA%U%G/,J^NTW&([G2@8C@-B%J
M%88\>?D"@5Q?=&CG]8L[L5CJ] MG/(KY NY!?XUO$[/EY%E\$4*DA(Q( O.+
MSB4]GWA>&I#M\8> M2I\)JF41RF_I1M3_Z+CIB." &8Z3<'-OR>80!"DF<PX
MOF^3=O*::6#Q\VOV7S/Q1LPC5S"1P9_"U\N+SK!#?)CS5:#OY/IWV KJI?EF
M,E#97[+>[NMVR&REM RWP68$H8@V__GSMA&% -JM"&#; +8?X%4$>-N K'/.
M9F29K"NN^7B4R#5)TKU-MO1#UILLVJ@143J-]SHQOPH3I\<W4@.A/?*97,Z^
MKX02:7/5ZV8"/IE&FD<+\1@ N50*M"(G5Z"Y"-1'L]O7^RMR\N$C^4!$1!Z6
M<J5XY*N1H\W8T@K.;#N.+YMQL(IQW$-\2ESZB3"7T9+P"1Y^S5^(ZY5%.Z8A
M>5=8WA66I>M6I'N0F@=$^!!I,1<\U2YL&WC6AC*-FZS]+&NZ@)[&PR%C(^>I
MJ 0MG2[;<Q7S&5QTS+I4D#Q!9_SS3[3O_H((\W)A'BKL'IZU63R%N29_7T/X
M",D_Y%]R!4]F7<=FTA]@MHQD(!<O)%O9*M^M3#9:\_V*-NUI*-E.>[IY>[IH
M>VP#=-Z ,L'=@WGN4F]_GM%21PKIY4)Z+<^SV>U:1")<A>C4H\.H._4-)=OI
M6#_O6!_MV'1_?7\BH+0P)PK3II6"^2H@@9@#.?D+>/*QK!=X@1YY,8%EAXT)
M&GBD[D&N>_ _.(4_O^D4=!AUG=)0LIV.#?..#=MV"E[@K-HI:."1NL]RW6<_
MX)1)QBJ0D#L(> 812Q'CIPVT7%U'-)1LIS/4M13E-G+BV*8IGCD8&_3WSAQX
ML6/%%)"0MFWP-RJP:H?CD<=JM^!'<?+#3?Z0<!_(#0\!=S9>I*ZUF\JVVQ*+
MC!1GQG=[VSOTML>Z^]YN@^^H!3R*$UX3WL8K4(J8NPTFI!8*Z8]0X8V,9C*,
MP5P07BX2 '.Q_@;WX^5JV[P-_*.6_RC.9^^V>?_ YF?NOLG;(#IJD8[B3->$
MR?$*&X^7SF(;:$8MFU&<G7Z;3$O]7:JQ(9K:"F^#S:B%,XK3V;&W+/"TM9MP
M=K X*'.[0[M =N_'6,!B.&!5S:LY;DTC'^;F4M4<MZ81N4WD#)0R&*J,0V=+
MPB/_]3(F/:*ACL '4;<9367;;9G%./86QGV.M\U(BLWP;3-*>] 0@&U[L,G6
M*QBB/^AVJ_Q0N$&'<QKBAV/O8N$5:PMO ]J8A3;6#+3A:6J+/D1 .J25LVVI
MC;5.;7B%VD+Q\?;+$'!7NX4VAD,;XO0CKKGQ8K7;T :R,8MLK!EDP]/4%GT(
M@ .757G<0AMK'=KP"K5UOH& I1?QN^(MMK'CL*W&-3=>H;;X-FB.69IC.,V]
MV]F-TAL[I#?6[U<=OCT+;QX.;PU8&Z]0^QD3/EY:>J]^5[S%, _',,3:]:^X
M\5JUV]#&O3;/,IR',]Q[38ZGJ2WZ\"$M994>+SQ8Q8&K"8\W^QP5'V^WVN).
MX76"]%V.:YXL1*1( '.3RCT=F+-^LGD]8K.A99R]8? HM>&1[.,2S%$[27<P
MO\^EU*\;Z4L+^4LJX_\ 4$L#!!0    ( /J#"56A?ZCDR@(  *T(   9
M>&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;*U6:T_;,!3]*U:&)I &>35I8&TD
M*'LP"511V#Y,^^ FMXU%8A?;:=F_G^V$K(\T8H,OC>W<<WS.]:UO!BO&'T0&
M(-%3D5,QM#(I%V>V+9(,"BQ.V *H>C-CO,!23?G<%@L..#6@(K<]QPGM A-J
MQ0.S-N;Q@)4R)Q3&'(FR*##_?0$Y6PTMUWI>N"7S3.H%.QXL\!PF(.\78ZYF
M=L.2D@*H((PB#K.A=>Z>C2(=;P*^$UB)M3'23J:,/>C)53JT'"T(<DBD9L#J
ML801Y+DF4C(>:TZKV5(#U\?/[)^-=^5EB@6,6/Z#I#(;6I&%4ICA,I>W;/45
M:C^!YDM8+LPO6M6QCH624DA6U&"EH""T>N*G.@]K ,73#O!J@/=2@%\#?&.T
M4F9L76*)XP%G*\1UM&+3 Y,;@U9N"-6G.)%<O24*)^,;)@&Y 3I&Y\EC2031
MR15J.N8,F42A*UH5B\[ZX25(3')QI"+N)Y?H\. ('2!"T5W&2H%I*@:V5+(T
MN9W4$BXJ"=X>"3ZZ9E1F GVB*:0M^%$W/NS VRH=34Z\YYQ<>)V$WTIZ@GSG
M _(<SVW3\]_P#3E^<T2^X>OMX9O DU2I7SL?]/,:BBGP7VW)[B33E\*96. $
MAI;ZUPO@2[#B]^_<T/G8YO2-R#9\]QK?O4[?=TSB7-T42Z EM#FMX*&!Z]MJ
M&?M>Y#H#>[EN83<J<,(P:*(VM 6-MJ!3VXVZ7PE-6 'H,&="'+7IJRB"M9W[
M3A1LR=L-"MS0:U<7-NK"3G5?1E<O+I=.IG\MES<BVS#=;TSW7U<N_99,._[V
M>>Q&1<%IM*=<HD9;]/IRB78*];CG]MPM?2U1H7.ZK<]>ZP@%\+EIE (EK*2R
M:@[-:M.+STT+LO^&5XW\&O,Y42TAAYF".B=]E1M>-<=J(MG"])<IDZI;F6&F
MOB> ZP#U?L94CZDG>H/F"R7^ U!+ P04    " #Z@PE51T^@@& #  #*#0
M&0   'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6RM5VMOVC 4_2M6-DVMU#8O
M$E@'2$"HUDF=JK[VV4UN()IC,]LI]-_/=M(42AK1+5\@=NXYQ_=<V[&':\9_
MBR6 1)N<4#&REE*NSFU;Q$O(L3AC*Z#J3<IXCJ5J\H4M5AQP8D YL3W'">T<
M9]0:#TW?-1\/62%)1N&:(U'D.>;/4R!L/;)<ZZ7C)ELLI>ZPQ\,57L MR/O5
M-5<MNV9)LARHR!A%'-*1-7'/YP,=;P(>,EB+K6>D,WED[+=N7"8CR]$# @*Q
MU Q8_3W!# C11&H8?RI.JY;4P.WG%_8+D[O*Y1$+F#'R*TOD<F0-+)1 B@LB
M;]CZ.U3Y!)HO9D287[2N8AT+Q860+*_ :@1Y1LM_O*E\V (HGF: 5P&\MX#>
M.P"_ OB'*O0J0.]0A: "F-3M,G=C7(0E'@\Y6R.NHQ6;?C#N&[3R*Z-ZGMQ*
MKMYF"B?'/YD$Y(;H%%W2F.6 [O &!#J*0.*,"'0'&UE@<JP"[F\C=/3Y>&A+
MI:O1=EQI3$L-[QT-'UTQ*I<"S6D"20,^:L>'+7A;Y5LG[;TD/?5:"7\4] SY
MS@GR',]K&,_L<+C;E,[_J<__67W'#+^> ;[AZ[W#]UIW--^H[4< .IH"A323
MQR?HCDE,FDI>DH:&5&]&3^-3O^]_=1QG:#]M>]D0Z'I!X.U%1@V1/=\?[ 7.
M#Z'<\:)7>]%K]6*>IF!VKJW5@&ZP6B(W$#,:9R3#>G\[0=? 8Z"RQ:!6);W]
MGXL5CF%DJ?U= '\":_SEDQLZWYHF9)=D44GF.EO^.6=.\,;DCB1WZA#4=0A:
MZQ!E(N8@2_^KR=CD<2O+1SWNDBP*]J:HYP?[,[DCS1V3P]KDL*/)/@5U( %4
M5^520B[J-=!4F%;ECQ:F2[(H/&CR=R2Y4Y=^79=^1W7!$EU  AP3="NQ+"3C
MSV]!K65J'<A'R]0E6=1O*I/^WNV4J2/)G3(-ZC(-VO<H2(%S2(S3$R% JB7Q
M@$EABH,F1!W!,8VAR??!_NZ@1N7L?SQ;A_!13P]5G7>D6MIJ;QU.<^ +<RL0
M*&8%E>4II>ZM+QX3<]Y^TS]USV=N0W^D+BKEO>*5OKSE7&&^R*A !%(EY9SU
MU7;+RYM#V9!L98[&CTRJ@[9Y7*K+%G =H-ZG3!V/JX86J*]OX[]02P,$%
M  @ ^H,)5;-F(_Y3!0  V1<  !D   !X;"]W;W)K<VAE971S+W-H965T.#<N
M>&ULM5A;<^(V%/XK&G>GD\R$V/(54F FP>YT.YMM)FFZ#YT^""/ $]NBD@R[
M_[Z2;0S8LLUNZ O(TG<^Z5QT=*3QCM WML:8@Z])G+*)MN9\<Z?K+%SC!+%;
MLL&I&%D2FB N/NE*9QN*T2(72F+=- Q73U"4:M-QWO=$IV.2\3A*\1,%+$L2
M1+\]X)CL)AK4]AW/T6K-98<^'6_0"K]@_KIYHN)+KU@648)3%I$44+R<:/?P
M+H C*9 C_HKPCAVU@51E3LB;_/BXF&B&7!&.<<@E!1)_6SS#<2R9Q#K^+4FU
M:DXI>-S>L_^:*R^4F2.&9R3^$BWX>J(--;# 2Y3%_)GL?L.E0H[D"TG,\E^P
M*[&&!L*,<9*4PF(%2906_^AK:8@C <&C%C!+ ;,N8+<(6*6 =>X,=BE@GSN#
M4PKDJNN%[KGA?,31=$S)#E")%FRRD5L_EQ;VBE(9*"^<BM%(R/'I9\(Q@!X8
M@,\B*J\^$<:NP<<T) D&3YB"&4D2X<^7-:)8@&8H#K,8Y3XF2^!'<<;QHAAF
MX,K''$6Q8!B UQ<?7'VX!A^ #E@Q'*7@-8TXNQ&=HOWGFF0,I0LVUKG01*Y'
M#\M5/Q2K-EM6;8%'DO(U T&ZP N%O-\M[W;(Z\*"E1G-O1D?S$["W[/T%EC&
M#3 -TU2L9W:^.%2I\[[9@Q^>_<085A535LYGM\64C*0XCZ0HCR25@PL*-Z>0
MV6P['7BFX]AC?7MLMR;,&WKN*<A7<8U<TSB%!4V8ZSG#"G2BJUWI:G?J>I^0
M+.4 <4ZC><;1/,: $Y"E6\SDSA!Q+T9"V2QV@<H6Q13.T<)J2Y_U(OQ>1-!$
M##RU\DZEO/,CRN\0I2CE#(B#B7&QPZ-TI5+;Z56[B1B8T*EIWDL3J&B,%L>[
ME>[N]P4Y0'%,0B0]+6P0%GDS]_F:Q M,E9YWS]L%39CGNK!F!Q678A<T8:YC
M6VIC>)4QO$YC/" 6A> J*A5FURI=O887;--V#3@<U;1M JVAX9D>-&L:JQA-
M:V@YM1 )%(R.ZPZA::OU'E9Z#\_4>T'B&%$&-N+,S&V@-$'!-CQV$;SU:HZ<
M-5'&;5UU)5/=DH&*";8$_JC2>?3_9[Q1(PCK6[^).-FSA15Z:0(EC:&V #0.
M19/QGL2G+&B,WFS7#_'[(8$"TI;GX5&5"#L5_H09NP,K<?$0_HVK)+=&Z0K+
M6FZ)(@JV*,ZP+ L[[0#[[= +\?LA02?DU SFP0QFIQGV]6Z9^#&BJ3C;BEU_
MG/&5BIOGY7H%3B3[>N0KV1397H%S'0>V&.)0X<'N$N_+_HCOR?DE3:>W>R%^
M/R100"S7,T8MBA[*.]A=W^T]OLMOG**!MIB*&W1UIV$LD[WIXKC:Z35+LQ9K
M.0M52,,:&<:H$1$J3N5IJ$!:0]-S7*.E#("'@A!V5X35!CG[2"P)^\Y$!4P<
M9:.Z#91DC6-13=:6) \5(>PN"?-;\$#4!,( 3^A;@L41<2_WR0K+]@WX8Y-?
MG/]^Q,D<TW^4YNB<0CX;W;$-"O%$VXC@PG2+M>G//T'7^$5UZ[PHFW]1MN!2
M;*?..E2LL+MD[7%6?V9KUI2-S-:$B(IS-(2-_-;+%:BX;)'AW+:H/92PL+N&
M?3[4:R^<A&_=X=G)]=WA>4DV_Z)LP:783KUR*+)A=Y7][O <]8=G$P(-UW,:
MSRO]7(&*"UJVT3A1]*.GR@335?Y&S$3Q).KIXH6IZJW>H>_SU]=:_P.\FT%%
MOR_?K?.GT0-]\>C]B.@J2AF(\5),9=QZ8K6T>$<N/CC9Y ^E<\(Y2?+F&B-Q
M=9< ,;XDA.\_Y 35:_[T/U!+ P04    " #Z@PE5!4^ $>X"   R"0  &0
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
M3QJ39R^?T[$?QN]]S])-BY2._?NSMS]6A;IZX]GKR;N3D][]^=6A_<PXSOW
M27IY!.E%KX<3@Q,CCX\C?XH;HQX<1?T$,T8\W"<VHT\UC\6=8K#$ :OS]L<\
M#7H(>!^-PD,GO(7%@'UWW--V6#OCH"[1R2@KQ*Y2(]\:-#O)J?= ^-B?$LYF
MD@$J(SGC&VON@V%>\$)Z2F\1'2X$2_7+ND/;@]U3\^1,%-+$MA'L[ZP>?N#8
M]D @X[P1V/>M83(JB5)4BFO=,8.-\9'+J]MWFU(K7$BR"?N7_@Y@+CK(K) I
ME4V8T-^:)B-.,Y CV6()5U64 3B5*G+=2!E9%((8#5M$W="T<\KY+=Q:OF=[
MW.NLM6ZF6D33U(+JIJ6Q'>!OLUGN-FW\+%ZO9 ^%^K32TQ&F#YN*WDB:L;7I
MK[-& ,8>XNRD+/GF(V<+D5,[^:,#3D9DB_.6A62_=#0HE;DV4.E[#U0J-F];
M?DI2WM&UVI;3.L,U]SNH^=_F>4$%E82W1>O:?\U9?K;B:/!2DLU=Y5"P4V-]
M7GCM(B^[(#+N@LA.U.2P"R*3#H@<O-A=\WB142<2&79!9/]5B@SJ,V7KX+IW
M;&VL'KP>C/UO\++!=T&]V8IQQ43=6[(TI>+1Z573*S+3K]M[_'I\2C.RXNJN
M<8[]7?LK3=DJ3YI1-Y"(>M2N_06FIX_"VW<3'8N)E*YI.JV[<C$S34\W=-3Z
M X!#S[7YN#T8QOK<'O!A<3 %&,:BL#C_TWR&Z'RL#],V='J&*&:(8BS*Y9F:
M+Q;'C4GTQSW3)(FB.,8R.ITZ%4RQO,4Q_+G9,&V P.) I+_+-;[:>(4\70?8
MFCY5(=A,\4K$9HKG&CSNO $B2=RKC<4!!+8*6.U ?'<<J"DW)HI@53%MV [&
M/4F">: 6W34:QTAV8OBZUP?;)5&4)&X/^-P*H@CSP&[$/9@"T(!YHL@\!P^>
M1\'V.17L_@<]^0U02P,$%     @ ^H,)59>*NQS     $P(   L   !?<F5L
M<R\N<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5Q
MD L9>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC
M0[!:+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W
M\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ
M:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04    " #Z@PE5&BUR"$H&   <.P
M#P   'AL+W=O<FMB;V]K+GAM;,6;2V_;.!" _PKA4WO(VGJK15.@VZ3= &D;
M)-GN<4%+M$-4(EU2RJ._?BDY:8:..=B+1Z=(LB)_(B5^,T/ZW9TV/Y9:_V#W
M;:/L\>RFZS9OYW-;W8B6VS_T1BCWR4J;EG=NUZSG=F,$K^V-$%W;S./%(I^W
M7*K9^W=/U[HP<[BC.U%U4BMW<#CP78H[^_SYL,MNI95+V<CNX7@V;C=BQEJI
M9"M_B?IXMI@Q>Z/O_M)&_M*JX\U59733',^B[0??A>ED]>+PU0!YS9=V/-+Q
MY25W(,>S?.$NN)+&=N,9X_6Y8[P5[N3M7M_I3[+IA#GAG?AL=+^1:CU<QMW%
M'-S&V Y/?[>-^-;\GV;4JY6LQ(FN^E:H;MN.1C0#H+(W<F-G3/%6',^>3F$?
M5,U.5><:B9VI[:7<N<.=NJ\^J[=WW3E<T(;FK70?F+-Z!#\<Y-^*][7L1,T^
M:E4+9;=;5C>R=D0 ,D8@XPDA_XT!9() )E-")@ R12#3*2%3 )DAD-F4D!F
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
M A0#%     @ ^8,)50=!36*!    L0   !               ( !     &1O
M8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " #Y@PE5W_@PT>X    K @  $0
M            @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " #Y
M@PE5F5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE
M;64Q+GAM;%!+ 0(4 Q0    ( /F#"57^_"&0Z 4   4?   8
M  " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " #Y
M@PE5[N'Z*.P'  !L(P  &               @($K#@  >&PO=V]R:W-H965T
M<R]S:&5E=#(N>&UL4$L! A0#%     @ ^8,)5?>9EM-@ P  S L  !@
M         ("!318  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0
M   ( /F#"55&T?7?IP@  ",Q   8              " @>,9  !X;"]W;W)K
M<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " #Y@PE5WE_PVED#  #M"@
M&               @(' (@  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L!
M A0#%     @ ^8,)58(]12D5$   #LD  !@              ("!3R8  'AL
M+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( /F#"576Y T!- (
M -\$   8              " @9HV  !X;"]W;W)K<VAE971S+W-H965T-RYX
M;6Q02P$"% ,4    " #Y@PE5B+\L7YH)  !O+@  &               @($$
M.0  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ ^8,)5;/%
MWWNI#@  S"4  !@              ("!U$(  'AL+W=O<FMS:&5E=',O<VAE
M970Y+GAM;%!+ 0(4 Q0    ( /F#"54U"0<(L 8  )H4   9
M  " @;-1  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @
M^8,)5:.C]6S, P  F0@  !D              ("!FE@  'AL+W=O<FMS:&5E
M=',O<VAE970Q,2YX;6Q02P$"% ,4    " #Z@PE59VU8>* "  "+!0  &0
M            @(&=7   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4
M Q0    ( /J#"56_&ES7D 0  ,<*   9              " @71?  !X;"]W
M;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ ^H,)59\I3#IP P
MI <  !D              ("!.V0  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX
M;6Q02P$"% ,4    " #Z@PE5P(NWI$\#   G!P  &0              @('B
M9P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( /J#"54.
MHH*@, @  /@3   9              " @6AK  !X;"]W;W)K<VAE971S+W-H
M965T,38N>&UL4$L! A0#%     @ ^H,)56=%\0[C @  @ 8  !D
M     ("!SW,  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4
M" #Z@PE5GD\H^[4#  #/!P  &0              @('I=@  >&PO=V]R:W-H
M965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( /J#"54F^MK!R@,  ',(   9
M              " @=5Z  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L!
M A0#%     @ ^H,)5;[QE\VB @  ^ 4  !D              ("!UGX  'AL
M+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " #Z@PE5"B]N_H((
M   S%0  &0              @(&O@0  >&PO=V]R:W-H965T<R]S:&5E=#(Q
M+GAM;%!+ 0(4 Q0    ( /J#"555),7K>04  +40   9              "
M@6B*  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ ^H,)
M53H2=.DZ"@  G2   !D              ("!&)   'AL+W=O<FMS:&5E=',O
M<VAE970R,RYX;6Q02P$"% ,4    " #Z@PE5*5^JQ_L#  "#"   &0
M        @(&)F@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0
M   ( /J#"57VHUCX% 4  " -   9              " @;N>  !X;"]W;W)K
M<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ ^H,)5=@>T?=Q P  D@<
M !D              ("!!J0  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q0
M2P$"% ,4    " #Z@PE5&T]-"DL"   8!0  &0              @(&NIP
M>&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( /J#"55ET4B3
M,0(  .<$   9              " @3"J  !X;"]W;W)K<VAE971S+W-H965T
M,C@N>&UL4$L! A0#%     @ ^H,)5=,3$98U#   @2,  !D
M ("!F*P  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " #Z
M@PE54@-T]# #  ";!P  &0              @($$N0  >&PO=V]R:W-H965T
M<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( /J#"5445.&DAP0  %(.   9
M          " @6N\  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#
M%     @ ^H,)55)J-? M P  '0<  !D              ("!*<$  'AL+W=O
M<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " #Z@PE5KL<'''H"  !%
M!0  &0              @(&-Q   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM
M;%!+ 0(4 Q0    ( /J#"55C$>:ZV ,  -<)   9              " @3['
M  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ ^H,)56+@
M\V^N @  O04  !D              ("!3<L  'AL+W=O<FMS:&5E=',O<VAE
M970S-2YX;6Q02P$"% ,4    " #Z@PE5Y'$C7NT"   L!@  &0
M    @($RS@  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    (
M /J#"54K<HV.8 0  $T*   9              " @5;1  !X;"]W;W)K<VAE
M971S+W-H965T,S<N>&UL4$L! A0#%     @ ^H,)5<D(^RNG @  U04  !D
M             ("![=4  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"
M% ,4    " #Z@PE5-6P4][\"  #@!0  &0              @('+V   >&PO
M=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( /J#"578:A,7P ,
M , (   9              " @<';  !X;"]W;W)K<VAE971S+W-H965T-# N
M>&UL4$L! A0#%     @ ^H,)5327MYAR @  >@4  !D              ("!
MN-\  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " #Z@PE5
M?Y,P96@#  #[!P  &0              @(%AX@  >&PO=V]R:W-H965T<R]S
M:&5E=#0R+GAM;%!+ 0(4 Q0    ( /J#"54 @<\S&P0  'X*   9
M      " @0#F  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%
M  @ ^H,)5:4-]_>&!@  S1$  !D              ("!4NH  'AL+W=O<FMS
M:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " #Z@PE5O&1V@&4$   &#
M&0              @($/\0  >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+
M 0(4 Q0    ( /J#"54#-^5\* (  &$$   9              " @:OU  !X
M;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ ^H,)57-27*S]
M @  &PP  !D              ("!"O@  'AL+W=O<FMS:&5E=',O<VAE970T
M-RYX;6Q02P$"% ,4    " #Z@PE5EOA1/KT#  "\$@  &0
M@($^^P  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( /J#
M"55(X+QGK@8  /1    9              " @3+_  !X;"]W;W)K<VAE971S
M+W-H965T-#DN>&UL4$L! A0#%     @ ^H,)50U+&%OG!P  0$0  !D
M         ("!%P8! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M    " #Z@PE5"9S\5]<"   Q!P  &0              @($U#@$ >&PO=V]R
M:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( /J#"55%NXP\LP(  /4&
M   9              " @4,1 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL
M4$L! A0#%     @ ^H,)57*2+JE@ @  X04  !D              ("!+10!
M 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " #Z@PE5)=KJ
MM5@%   ((@  &0              @('$%@$ >&PO=V]R:W-H965T<R]S:&5E
M=#4T+GAM;%!+ 0(4 Q0    ( /J#"57*7"&>50(  .0%   9
M  " @5,< 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @
M^H,)5<7-&FYW @  A0@  !D              ("!WQX! 'AL+W=O<FMS:&5E
M=',O<VAE970U-BYX;6Q02P$"% ,4    " #Z@PE57Q#>&F8"   "!P  &0
M            @(&-(0$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4
M Q0    ( /J#"56--_"- 0,  .T)   9              " @2HD 0!X;"]W
M;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ ^H,)5>G9^D)) P
MD P  !D              ("!8B<! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX
M;6Q02P$"% ,4    " #Z@PE5;51A;U$"  !$!@  &0              @('B
M*@$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( /J#"56
M\3E V (  /D'   9              " @6HM 0!X;"]W;W)K<VAE971S+W-H
M965T-C$N>&UL4$L! A0#%     @ ^H,)50J"F@-3 @  . 8  !D
M     ("!>3 ! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4
M" #Z@PE5XE$3D$P#   G#   &0              @($#,P$ >&PO=V]R:W-H
M965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( /J#"56;2C!+M 4  %HM   9
M              " @88V 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L!
M A0#%     @ ^H,)51O+$(4A!P  J"P  !D              ("!<3P! 'AL
M+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " #Z@PE5'YX8&64"
M   U!@  &0              @(')0P$ >&PO=V]R:W-H965T<R]S:&5E=#8V
M+GAM;%!+ 0(4 Q0    ( /J#"57&N-Y,GP(  % '   9              "
M@65& 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @ ^H,)
M5>&(SP36 @  B0<  !D              ("!.TD! 'AL+W=O<FMS:&5E=',O
M<VAE970V."YX;6Q02P$"% ,4    " #Z@PE5"/P2?90$  #%%@  &0
M        @(%(3 $ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0
M   ( /J#"56[&C<X_P(   (*   9              " @1-1 0!X;"]W;W)K
M<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ ^H,)5?].,;5V!0  QBT
M !D              ("!250! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q0
M2P$"% ,4    " #Z@PE5UW7:WJL"   ]"   &0              @('V60$
M>&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( /J#"55Z -R&
M%P(  -L$   9              " @=A< 0!X;"]W;W)K<VAE971S+W-H965T
M-S,N>&UL4$L! A0#%     @ ^H,)567NN[?L P  !!,  !D
M ("!)E\! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " #Z
M@PE5IDMW35("  "L!0  &0              @(%)8P$ >&PO=V]R:W-H965T
M<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( /J#"54@_B3:M0,  )D4   9
M          " @=)E 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#
M%     @ ^H,)56#G.T.X"P  ;(8  !D              ("!OFD! 'AL+W=O
M<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    " #Z@PE56_'-3-T"  "O
M"   &0              @(&M=0$ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM
M;%!+ 0(4 Q0    ( /J#"55G9B/;7P0  &(5   9              " @<%X
M 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @ ^H,)56E2
MNNFZ P  D1   !D              ("!5WT! 'AL+W=O<FMS:&5E=',O<VAE
M970X,"YX;6Q02P$"% ,4    " #Z@PE5.T6R&FD'  #8,P  &0
M    @(%(@0$ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    (
M /J#"55@DH+M<@4  +X?   9              " @>B( 0!X;"]W;W)K<VAE
M971S+W-H965T.#(N>&UL4$L! A0#%     @ ^H,)58I58(#1"   ^U   !D
M             ("!D8X! 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"
M% ,4    " #Z@PE51J93^B@%  "P(@  &0              @(&9EP$ >&PO
M=V]R:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0    ( /J#"56A?ZCDR@(
M *T(   9              " @?B< 0!X;"]W;W)K<VAE971S+W-H965T.#4N
M>&UL4$L! A0#%     @ ^H,)54=/H(!@ P  R@T  !D              ("!
M^9\! 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q02P$"% ,4    " #Z@PE5
MLV8C_E,%  #9%P  &0              @(&0HP$ >&PO=V]R:W-H965T<R]S
M:&5E=#@W+GAM;%!+ 0(4 Q0    ( /J#"54%3X 1[@(  #()   9
M      " @1JI 0!X;"]W;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%
M  @ ^H,)5;+C/CKP @  70D  !D              ("!/ZP! 'AL+W=O<FMS
M:&5E=',O<VAE970X.2YX;6Q02P$"% ,4    " #Z@PE5"5'JZ5P#  "0%@
M#0              @ %FKP$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( /J#
M"567BKL<P    !,"   +              "  >VR 0!?<F5L<R\N<F5L<U!+
M 0(4 Q0    ( /J#"54:+7((2@8  !P[   /              "  =:S 0!X
M;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " #Z@PE5.&5KYYH"  !R-   &@
M            @ %-N@$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"
M% ,4    " #Z@PE5IY'J63<"  #?,@  $P              @ $?O0$ 6T-O
F;G1E;G1?5'EP97-=+GAM;%!+!08     80!A )X:  "'OP$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>377</ContextCount>
  <ElementCount>405</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>97</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Unaudited Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets</Role>
      <ShortName>Unaudited Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals</Role>
      <ShortName>Unaudited Condensed Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Unaudited Condensed Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 1 - Organization and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies</Role>
      <ShortName>Note 1 - Organization and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 2 - Fair Value Measurement</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement</Role>
      <ShortName>Note 2 - Fair Value Measurement</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 3 - Investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments</Role>
      <ShortName>Note 3 - Investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 4 - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory</Role>
      <ShortName>Note 4 - Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 5 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases</Role>
      <ShortName>Note 5 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 6 - Assets Held for Rent</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent</Role>
      <ShortName>Note 6 - Assets Held for Rent</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 7 - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-</Role>
      <ShortName>Note 7 - Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 8 - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets</Role>
      <ShortName>Note 8 - Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities</Role>
      <ShortName>Note 9 - Accrued Expenses and Other Current Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 10 - Warranty Reserve Liability</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability</Role>
      <ShortName>Note 10 - Warranty Reserve Liability</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 11 - Long-term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt</Role>
      <ShortName>Note 11 - Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 12 - Warrants</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants</Role>
      <ShortName>Note 12 - Warrants</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 13 - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue</Role>
      <ShortName>Note 13 - Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 14 - Share-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation</Role>
      <ShortName>Note 14 - Share-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 15 - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions</Role>
      <ShortName>Note 15 - Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 16 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes</Role>
      <ShortName>Note 16 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 17 - Net (Loss) Income Per Common Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share</Role>
      <ShortName>Note 17 - Net (Loss) Income Per Common Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 18 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies</Role>
      <ShortName>Note 18 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 19 - Employee Benefit Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-</Role>
      <ShortName>Note 19 - Employee Benefit Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 20 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events</Role>
      <ShortName>Note 20 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables</Role>
      <ShortName>Note 1 - Organization and Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 2 - Fair Value Measurement (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables</Role>
      <ShortName>Note 2 - Fair Value Measurement (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 3 - Investments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables</Role>
      <ShortName>Note 3 - Investments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 4 - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables</Role>
      <ShortName>Note 4 - Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 5 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables</Role>
      <ShortName>Note 5 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 6 - Assets Held for Rent (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables</Role>
      <ShortName>Note 6 - Assets Held for Rent (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 7 - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables</Role>
      <ShortName>Note 7 - Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 8 - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables</Role>
      <ShortName>Note 8 - Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables</Role>
      <ShortName>Note 9 - Accrued Expenses and Other Current Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 10 - Warranty Reserve Liability (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables</Role>
      <ShortName>Note 10 - Warranty Reserve Liability (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 11 - Long-term Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables</Role>
      <ShortName>Note 11 - Long-term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 12 - Warrants (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables</Role>
      <ShortName>Note 12 - Warrants (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 13 - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables</Role>
      <ShortName>Note 13 - Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 14 - Share-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables</Role>
      <ShortName>Note 14 - Share-based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 15 - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables</Role>
      <ShortName>Note 15 - Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 17 - Net (Loss) Income Per Common Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables</Role>
      <ShortName>Note 17 - Net (Loss) Income Per Common Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual</Role>
      <ShortName>Note 1 - Organization and Significant Accounting Policies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details</Role>
      <ShortName>Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details</Role>
      <ShortName>Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Note 2 - Fair Value Measurement (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual</Role>
      <ShortName>Note 2 - Fair Value Measurement (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details</Role>
      <ShortName>Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details</Role>
      <ShortName>Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details</Role>
      <ShortName>Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 3 - Investments (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual</Role>
      <ShortName>Note 3 - Investments (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 3 - Investments - Available-For-Sale Marketable Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details</Role>
      <ShortName>Note 3 - Investments - Available-For-Sale Marketable Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 4 - Inventory - Summary of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details</Role>
      <ShortName>Note 4 - Inventory - Summary of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 5 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual</Role>
      <ShortName>Note 5 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 5 - Leases - Lease Term and Discount Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details</Role>
      <ShortName>Note 5 - Leases - Lease Term and Discount Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 5 - Leases - Components of Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details</Role>
      <ShortName>Note 5 - Leases - Components of Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 5 - Leases - Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details</Role>
      <ShortName>Note 5 - Leases - Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 6 - Assets Held for Rent (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual</Role>
      <ShortName>Note 6 - Assets Held for Rent (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 6 - Assets Held for Rent - Assets Held for Rent (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details</Role>
      <ShortName>Note 6 - Assets Held for Rent - Assets Held for Rent (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 7 - Property and Equipment (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual</Role>
      <ShortName>Note 7 - Property and Equipment (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details</Role>
      <ShortName>Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 8 - Goodwill and Intangible Assets (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual</Role>
      <ShortName>Note 8 - Goodwill and Intangible Assets (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>064 - Disclosure - Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details</Role>
      <ShortName>Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>065 - Disclosure - Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details</Role>
      <ShortName>Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>066 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details</Role>
      <ShortName>Note 9 - Accrued Expenses and Other Current Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>067 - Disclosure - Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details</Role>
      <ShortName>Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>068 - Disclosure - Note 11 - Long-term Debt - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details</Role>
      <ShortName>Note 11 - Long-term Debt - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>069 - Disclosure - Note 11 - Long-term Debt - Maturities of Loans Payable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details</Role>
      <ShortName>Note 11 - Long-term Debt - Maturities of Loans Payable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>070 - Disclosure - Note 12 - Warrants (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual</Role>
      <ShortName>Note 12 - Warrants (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>071 - Disclosure - Note 12 - Warrants - Summary of Warrant Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details</Role>
      <ShortName>Note 12 - Warrants - Summary of Warrant Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>072 - Disclosure - Note 13 - Revenue (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual</Role>
      <ShortName>Note 13 - Revenue (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>073 - Disclosure - Note 13 - Revenue - Revenues by Product Line (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details</Role>
      <ShortName>Note 13 - Revenue - Revenues by Product Line (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>074 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details</Role>
      <ShortName>Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>075 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details</Role>
      <ShortName>Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>076 - Disclosure - Note 14 - Share-based Compensation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual</Role>
      <ShortName>Note 14 - Share-based Compensation (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>077 - Disclosure - Note 14 - Share-based Compensation - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details</Role>
      <ShortName>Note 14 - Share-based Compensation - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>078 - Disclosure - Note 14 - Share-based Compensation - Restricted Stock Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details</Role>
      <ShortName>Note 14 - Share-based Compensation - Restricted Stock Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>079 - Disclosure - Note 14 - Share-based Compensation - Stock Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details</Role>
      <ShortName>Note 14 - Share-based Compensation - Stock Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>080 - Disclosure - Note 15 - Acquisitions (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual</Role>
      <ShortName>Note 15 - Acquisitions (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>081 - Disclosure - Note 15 - Acquisitions - Consideration (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details</Role>
      <ShortName>Note 15 - Acquisitions - Consideration (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>082 - Disclosure - Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details</Role>
      <ShortName>Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>083 - Disclosure - Note 15 - Acquisitions - Acquired Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details</Role>
      <ShortName>Note 15 - Acquisitions - Acquired Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>084 - Disclosure - Note 15 - Acquisitions - Pro Forma Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details</Role>
      <ShortName>Note 15 - Acquisitions - Pro Forma Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>085 - Disclosure - Note 16 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual</Role>
      <ShortName>Note 16 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>086 - Disclosure - Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details</Role>
      <ShortName>Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>087 - Disclosure - Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details</Role>
      <ShortName>Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="bioli20220630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>088 - Disclosure - Note 19 - Employee Benefit Plan (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual</Role>
      <ShortName>Note 19 - Employee Benefit Plan (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-</ParentRole>
      <Position>89</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="bioli20220630_10q.htm">bioli20220630_10q.htm</File>
    <File>blfs-20220630.xsd</File>
    <File>blfs-20220630_cal.xml</File>
    <File>blfs-20220630_def.xml</File>
    <File>blfs-20220630_lab.xml</File>
    <File>blfs-20220630_pre.xml</File>
    <File>ex_406047.htm</File>
    <File>ex_406048.htm</File>
    <File>ex_406049.htm</File>
    <File>ex_406050.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>biolife.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1220">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>108
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "bioli20220630_10q.htm": {
   "axisCustom": 0,
   "axisStandard": 32,
   "contextCount": 377,
   "dts": {
    "calculationLink": {
     "local": [
      "blfs-20220630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "blfs-20220630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "bioli20220630_10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "blfs-20220630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "blfs-20220630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "blfs-20220630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/currency/2022/currency-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd",
      "https://xbrl.sec.gov/exch/2022/exch-2022.xsd",
      "https://xbrl.sec.gov/naics/2022/naics-2022.xsd",
      "https://xbrl.sec.gov/sic/2022/sic-2022.xsd",
      "https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"
     ]
    }
   },
   "elementCount": 643,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 34,
    "http://www.biolifesolutions.com/20220630": 4,
    "http://xbrl.sec.gov/dei/2022": 6,
    "total": 44
   },
   "keyCustom": 69,
   "keyStandard": 336,
   "memberCustom": 48,
   "memberStandard": 49,
   "nsprefix": "blfs",
   "nsuri": "http://www.biolifesolutions.com/20220630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "009 - Disclosure - Note 2 - Fair Value Measurement",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
     "shortName": "Note 2 - Fair Value Measurement",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "010 - Disclosure - Note 3 - Investments",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
     "shortName": "Note 3 - Investments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "011 - Disclosure - Note 4 - Inventory",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
     "shortName": "Note 4 - Inventory",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:LesseeLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "012 - Disclosure - Note 5 - Leases",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
     "shortName": "Note 5 - Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:LesseeLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:AssetsHeldForRentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "013 - Disclosure - Note 6 - Assets Held for Rent",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
     "shortName": "Note 6 - Assets Held for Rent",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:AssetsHeldForRentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "014 - Disclosure - Note 7 - Property and Equipment",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
     "shortName": "Note 7 - Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "015 - Disclosure - Note 8 - Goodwill and Intangible Assets",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
     "shortName": "Note 8 - Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "016 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities",
     "shortName": "Note 9 - Accrued Expenses and Other Current Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "017 - Disclosure - Note 10 - Warranty Reserve Liability",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
     "shortName": "Note 10 - Warranty Reserve Liability",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "018 - Disclosure - Note 11 - Long-term Debt",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
     "shortName": "Note 11 - Long-term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "001 - Statement - Unaudited Condensed Consolidated Balance Sheets",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets",
     "shortName": "Unaudited Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:WarrantsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "019 - Disclosure - Note 12 - Warrants",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
     "shortName": "Note 12 - Warrants",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:WarrantsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "020 - Disclosure - Note 13 - Revenue",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
     "shortName": "Note 13 - Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "021 - Disclosure - Note 14 - Share-based Compensation",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
     "shortName": "Note 14 - Share-based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "022 - Disclosure - Note 15 - Acquisitions",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
     "shortName": "Note 15 - Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "023 - Disclosure - Note 16 - Income Taxes",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
     "shortName": "Note 16 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "024 - Disclosure - Note 17 - Net (Loss) Income Per Common Share",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
     "shortName": "Note 17 - Net (Loss) Income Per Common Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "025 - Disclosure - Note 18 - Commitments and Contingencies",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
     "shortName": "Note 18 - Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "026 - Disclosure - Note 19 - Employee Benefit Plan",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
     "shortName": "Note 19 - Employee Benefit Plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "027 - Disclosure - Note 20 - Subsequent Events",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
     "shortName": "Note 20 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "028 - Disclosure - Significant Accounting Policies (Policies)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "002 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parentheticals)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals",
     "shortName": "Unaudited Condensed Consolidated Balance Sheets (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "029 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
     "shortName": "Note 1 - Organization and Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "030 - Disclosure - Note 2 - Fair Value Measurement (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
     "shortName": "Note 2 - Fair Value Measurement (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "031 - Disclosure - Note 3 - Investments (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
     "shortName": "Note 3 - Investments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "032 - Disclosure - Note 4 - Inventory (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
     "shortName": "Note 4 - Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "033 - Disclosure - Note 5 - Leases (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
     "shortName": "Note 5 - Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:ScheduleOfAssetsHeldForRentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "034 - Disclosure - Note 6 - Assets Held for Rent (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
     "shortName": "Note 6 - Assets Held for Rent (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:ScheduleOfAssetsHeldForRentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "035 - Disclosure - Note 7 - Property and Equipment (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
     "shortName": "Note 7 - Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "036 - Disclosure - Note 8 - Goodwill and Intangible Assets (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
     "shortName": "Note 8 - Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "037 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
     "shortName": "Note 9 - Accrued Expenses and Other Current Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "038 - Disclosure - Note 10 - Warranty Reserve Liability (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
     "shortName": "Note 10 - Warranty Reserve Liability (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "003 - Statement - Unaudited Condensed Consolidated Statements of Operations",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations",
     "shortName": "Unaudited Condensed Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GeneralAndAdministrativeExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "039 - Disclosure - Note 11 - Long-term Debt (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
     "shortName": "Note 11 - Long-term Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "040 - Disclosure - Note 12 - Warrants (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
     "shortName": "Note 12 - Warrants (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:RevenuesByProductLineTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "041 - Disclosure - Note 13 - Revenue (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
     "shortName": "Note 13 - Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "blfs:RevenuesByProductLineTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "042 - Disclosure - Note 14 - Share-based Compensation (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
     "shortName": "Note 14 - Share-based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "043 - Disclosure - Note 15 - Acquisitions (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
     "shortName": "Note 15 - Acquisitions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "044 - Disclosure - Note 17 - Net (Loss) Income Per Common Share (Tables)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
     "shortName": "Note 17 - Net (Loss) Income Per Common Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "blfs:LiquidityAndCapitalResourcesPolicyPolicyTextBlock",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "045 - Disclosure - Note 1 - Organization and Significant Accounting Policies (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual",
     "shortName": "Note 1 - Organization and Significant Accounting Policies (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "blfs:LiquidityAndCapitalResourcesPolicyPolicyTextBlock",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "046 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
     "shortName": "Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerAMember",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "047 - Disclosure - Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
     "shortName": "Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "048 - Disclosure - Note 2 - Fair Value Measurement (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
     "shortName": "Note 2 - Fair Value Measurement (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_BusinessAcquisitionAxis-CBSAcquisitionMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:BusinessCombinationContingentConsiderationLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "004 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
     "shortName": "Unaudited Condensed Consolidated Statements of Comprehensive Loss",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "049 - Disclosure - Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
     "shortName": "Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "050 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
     "shortName": "Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "051 - Disclosure - Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
     "shortName": "Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_FairValueByLiabilityClassAxis-WarrantLiabilitiesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "052 - Disclosure - Note 3 - Investments (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
     "shortName": "Note 3 - Investments (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_InvestmentTypeAxis-ContingentConvertiblePreferredStockMember_StatementClassOfStockAxis-SeriesA1AndA2PreferredStockMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "053 - Disclosure - Note 3 - Investments - Available-For-Sale Marketable Securities (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
     "shortName": "Note 3 - Investments - Available-For-Sale Marketable Securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "us-gaap:InvestmentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "blfs:DebtSecuritiesAvailableforsaleUnrealizedLossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "054 - Disclosure - Note 4 - Inventory - Summary of Inventories (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
     "shortName": "Note 4 - Inventory - Summary of Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": null,
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "055 - Disclosure - Note 5 - Leases (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
     "shortName": "Note 5 - Leases (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "056 - Disclosure - Note 5 - Leases - Lease Term and Discount Rate (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details",
     "shortName": "Note 5 - Leases - Lease Term and Discount Rate (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "057 - Disclosure - Note 5 - Leases - Components of Lease Expense (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details",
     "shortName": "Note 5 - Leases - Components of Lease Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "058 - Disclosure - Note 5 - Leases - Maturities of Lease Liabilities (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details",
     "shortName": "Note 5 - Leases - Maturities of Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "blfs:LesseeLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "005 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity",
     "role": "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
     "shortName": "Unaudited Condensed Consolidated Statements of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2020-12-31_StatementClassOfStockAxis-SeriesAPreferredStockMember_StatementEquityComponentsAxis-PreferredStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "blfs:AssetsHeldForRentDepreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "059 - Disclosure - Note 6 - Assets Held for Rent (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual",
     "shortName": "Note 6 - Assets Held for Rent (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "blfs:AssetsHeldForRentDepreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "blfs:ScheduleOfAssetsHeldForRentTableTextBlock",
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "blfs:ShippersPlacedInServiceGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060 - Disclosure - Note 6 - Assets Held for Rent - Assets Held for Rent (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
     "shortName": "Note 6 - Assets Held for Rent - Assets Held for Rent (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "blfs:ScheduleOfAssetsHeldForRentTableTextBlock",
       "blfs:AssetsHeldForRentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "blfs:ShippersPlacedInServiceGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061 - Disclosure - Note 7 - Property and Equipment (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual",
     "shortName": "Note 7 - Property and Equipment (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "062 - Disclosure - Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
     "shortName": "Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "063 - Disclosure - Note 8 - Goodwill and Intangible Assets (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
     "shortName": "Note 8 - Goodwill and Intangible Assets (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-AbandonedInProcessResearchAndDevelopmentMember",
      "decimals": "-6",
      "lang": null,
      "name": "us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "064 - Disclosure - Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
     "shortName": "Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "065 - Disclosure - Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
     "shortName": "Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredCompensationLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "066 - Disclosure - Note 9 - Accrued Expenses and Other Current Liabilities (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
     "shortName": "Note 9 - Accrued Expenses and Other Current Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredCompensationLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "067 - Disclosure - Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
     "shortName": "Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "068 - Disclosure - Note 11 - Long-term Debt - Long-term Debt (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
     "shortName": "Note 11 - Long-term Debt - Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_DebtInstrumentAxis-The2022TermLoan1Member",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "blfs:ClassOfWarrantOrRightExercisedDuringPeriod",
      "reportCount": 1,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals",
     "shortName": "Unaudited Condensed Consolidated Statements of Shareholders' Equity (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "069 - Disclosure - Note 11 - Long-term Debt - Maturities of Loans Payable (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details",
     "shortName": "Note 11 - Long-term Debt - Maturities of Loans Payable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
      "reportCount": 1,
      "unitRef": "USDPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "070 - Disclosure - Note 12 - Warrants (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
     "shortName": "Note 12 - Warrants (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2014-03-31_ClassOfWarrantOrRightAxis-WarrantsToPurchaseCommonStockMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ClassOfWarrantOrRightOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "071 - Disclosure - Note 12 - Warrants - Summary of Warrant Activity (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details",
     "shortName": "Note 12 - Warrants - Summary of Warrant Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "blfs:WarrantsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ClassOfWarrantOrRightOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredRevenueRevenueRecognized1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "072 - Disclosure - Note 13 - Revenue (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual",
     "shortName": "Note 13 - Revenue (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredRevenueRevenueRecognized1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "073 - Disclosure - Note 13 - Revenue - Revenues by Product Line (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
     "shortName": "Note 13 - Revenue - Revenues by Product Line (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "blfs:RevenuesByProductLineTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductFreezerAndThawMember",
      "decimals": "-4",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "074 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
     "shortName": "Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "075 - Disclosure - Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
     "shortName": "Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30_ProductOrServiceAxis-RentalRevenueMember_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-07-01",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-03-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "076 - Disclosure - Note 14 - Share-based Compensation (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
     "shortName": "Note 14 - Share-based Compensation (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2021-04-01_2021-06-30_AwardTypeAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "077 - Disclosure - Note 14 - Share-based Compensation - Stock Option Activity (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
     "shortName": "Note 14 - Share-based Compensation - Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "078 - Disclosure - Note 14 - Share-based Compensation - Restricted Stock Activity (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
     "shortName": "Note 14 - Share-based Compensation - Restricted Stock Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
     "shortName": "Unaudited Condensed Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-03-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "079 - Disclosure - Note 14 - Share-based Compensation - Stock Compensation Expense (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details",
     "shortName": "Note 14 - Share-based Compensation - Stock Compensation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-03-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080 - Disclosure - Note 15 - Acquisitions (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
     "shortName": "Note 15 - Acquisitions (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember",
      "decimals": "1",
      "lang": null,
      "name": "blfs:BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-09-01",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharePrice",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081 - Disclosure - Note 15 - Acquisitions - Consideration (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
     "shortName": "Note 15 - Acquisitions - Consideration (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-09-01",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharePrice",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPerShare",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "082 - Disclosure - Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
     "shortName": "Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-09-01_BusinessAcquisitionAxis-SextonAcquisitionMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-09-01",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "083 - Disclosure - Note 15 - Acquisitions - Acquired Intangible Assets (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
     "shortName": "Note 15 - Acquisitions - Acquired Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "i_2021-09-01",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "084 - Disclosure - Note 15 - Acquisitions - Pro Forma Information (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
     "shortName": "Note 15 - Acquisitions - Pro Forma Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2021-04-01_2021-06-30_BusinessAcquisitionAxis-SextonAcquisitionMember",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "085 - Disclosure - Note 16 - Income Taxes (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
     "shortName": "Note 16 - Income Taxes (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "086 - Disclosure - Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
     "shortName": "Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "blfs:UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "087 - Disclosure - Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
     "shortName": "Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-04-01_2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "088 - Disclosure - Note 19 - Employee Benefit Plan (Details Textual)",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual",
     "shortName": "Note 19 - Employee Benefit Plan (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-03-31_RetirementPlanNameAxis-DefinedContributionPlan401KMember_RetirementPlanTypeAxis-PensionPlansDefinedBenefitMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "008 - Disclosure - Note 1 - Organization and Significant Accounting Policies",
     "role": "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
     "shortName": "Note 1 - Organization and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "bioli20220630_10q.htm",
      "contextRef": "d_2022-01-01_2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 97,
   "tag": {
    "blfs_AbandonedInProcessResearchAndDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to abandoned in process research and development.",
        "label": "Abandoned In Process Research and Development [Member]"
       }
      }
     },
     "localname": "AbandonedInProcessResearchAndDevelopmentMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_AccruedExpensesAndOtherCurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued expenses and other current liabilities",
        "totalLabel": "Total accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "AccruedExpensesAndOtherCurrentLiabilities",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_AllLocationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents all location.",
        "label": "All Location [Member]"
       }
      }
     },
     "localname": "AllLocationMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_AssetsHeldForRentDepreciation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of depreciation expenses recognized for assets held for rent.",
        "label": "blfs_AssetsHeldForRentDepreciation",
        "terseLabel": "Assets Held for Rent, Depreciation"
       }
      }
     },
     "localname": "AssetsHeldForRentDepreciation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_AssetsHeldForRentNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets held for rent classified as noncurrent.",
        "label": "Assets held for rent, net"
       }
      }
     },
     "localname": "AssetsHeldForRentNoncurrent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_AssetsHeldForRentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for assets held for rent.",
        "label": "Assets Held For Rent [Text Block]"
       }
      }
     },
     "localname": "AssetsHeldForRentTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity before adjustments.",
        "label": "blfs_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments",
        "terseLabel": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares, Before Adjustments (in shares)",
        "verboseLabel": "Merger consideration shares (in shares)"
       }
      }
     },
     "localname": "BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesBeforeAdjustments",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of equity issuable shares held in escrow accounts for post-closing indemnification claims.",
        "label": "blfs_BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims",
        "terseLabel": "Business Acquisition, Percentage of Equity Issuable Shares Held in Escrow Accounts for Post Closing Claims"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfEquityIssuableSharesHeldInEscrowAccountsForPostClosingClaims",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of shares outstanding of equity interests of the acquirer to be issued or issuable in consideration for the business combination.",
        "label": "blfs_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage",
        "verboseLabel": "Merger consideration percentage"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuablePercentage",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "percentItemType"
    },
    "blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of settlement of account receivable of the acquirer as part of consideration transferred in a business combination.",
        "label": "blfs_BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable",
        "verboseLabel": "plus: Net settlement of BioLife accounts receivable"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredSettlementOfAccountsReceivable",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of settlement of prepaid deposits incurred by the acquirer as part of consideration transferred in a business combination.",
        "label": "blfs_BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits",
        "verboseLabel": "plus: Settlement of BioLife prepaid deposits"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredSettlementOfPrepaidDeposits",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of working capital adjustment associated with the acquisition of business during the period.",
        "label": "blfs_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment",
        "verboseLabel": "less: Net working capital adjustment"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationContingentConsiderationStockIssued": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued for contingent consideration under business combination.",
        "label": "blfs_BusinessCombinationContingentConsiderationStockIssued",
        "terseLabel": "Business Combination, Contingent Consideration, Stock Issued (in shares)"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationStockIssued",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_BusinessCombinationEscrowSharesPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period the shares are to be held in escrow in the business combination.",
        "label": "blfs_BusinessCombinationEscrowSharesPeriod",
        "terseLabel": "Business Combination, Escrow Shares, Period (Month)"
       }
      }
     },
     "localname": "BusinessCombinationEscrowSharesPeriod",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of finance lease obligation assumed in business combination.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation",
        "negatedTerseLabel": "Lease liabilities, financing"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedFinanceLeaseObligation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease obligation assumed in business combination.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation",
        "negatedTerseLabel": "Lease liabilities, operating"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables",
        "terseLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Gross Receivables"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsGrossReceivables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Uncollectable amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables",
        "terseLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Uncollectable Receivables"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsUncollectableReceivables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of finance lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets",
        "verboseLabel": "Financing lease right-of-use assets, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAssets",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of line of credit assumed at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit",
        "negatedTerseLabel": "Line of credit"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLineOfCredit",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deposits and other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets",
        "verboseLabel": "Long-term deposits and other assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDepositsAndOtherNoncurrentAssets",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "blfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets",
        "verboseLabel": "Operating lease right-of-use assets, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details": {
       "order": 0.0,
       "parentTag": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares reduced during the period to satisfy an outstanding note receivable in the business combination.",
        "label": "blfs_BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable",
        "terseLabel": "Business Combination, Stock Reduced During Period, Satisfy Note Receivable (in shares)",
        "verboseLabel": "less: Merger consideration shares withheld to satisfy outstanding GCI stockholder obligations to GCI (in shares)"
       }
      }
     },
     "localname": "BusinessCombinationStockReducedDuringPeriodSatisfyNoteReceivable",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_CBSAcquisitionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding the CBS acquisition.",
        "label": "CBS Acquisition [Member]"
       }
      }
     },
     "localname": "CBSAcquisitionMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of reclassification from warrant liability to common stock due to cashless exercise of warrants.",
        "label": "Cashless exercise of warrants reclassified from warrant liability to common stock"
       }
      }
     },
     "localname": "CashlessExerciseOfWarrantsReclassifiedFromWarrantLiabilityToCommonStock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ClassOfWarrantOrRightExercisedDuringPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of warrants or rights exercised during period.",
        "label": "Cashless warrant exercises (in shares)",
        "negatedTerseLabel": "Exercised, number of shares (in shares)",
        "terseLabel": "Class of Warrant or Right, Exercised During Period (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisedDuringPeriod",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share of warrants or rights exercised during period.",
        "label": "blfs_ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice",
        "verboseLabel": "Exercised, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisedDuringPeriodExercisePrice",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "blfs_CommonStockDepositedIntoEscrowMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to common stock deposited into escrow.",
        "label": "Common Stock Deposited Into Escrow [Member]"
       }
      }
     },
     "localname": "CommonStockDepositedIntoEscrowMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_CommonStockIssuedToAcquireParticipatingHoldersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to common stock issued to acquire participating holders.",
        "label": "Common Stock Issued to Acquire Participating Holders [Member]"
       }
      }
     },
     "localname": "CommonStockIssuedToAcquireParticipatingHoldersMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ContingentConsiderationLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to contingent consideration liabilities.",
        "label": "Contingent Consideration Liabilities [Member]"
       }
      }
     },
     "localname": "ContingentConsiderationLiabilitiesMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_CorporateDebtSecuritiesCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents corporate debt securities classified as cash equivalents.",
        "label": "Corporate Debt Securities, Cash Equivalents [Member]"
       }
      }
     },
     "localname": "CorporateDebtSecuritiesCashEquivalentsMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_CustomerAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about customer A.",
        "label": "Customer A [Member]"
       }
      }
     },
     "localname": "CustomerAMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_CustomerBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information about major customer B.",
        "label": "Customer B [Member]"
       }
      }
     },
     "localname": "CustomerBMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_DebtSecuritiesAvailableforsaleUnrealizedLossCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Current portion of amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss, Current"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableforsaleUnrealizedLossCurrent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The non-current portion of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss, Noncurrent"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableforsaleUnrealizedLossNoncurrent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_DefinedContributionPlan401KMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to 401 k defined contribution plan.",
        "label": "Defined Contribution Plan, 401 K [Member]"
       }
      }
     },
     "localname": "DefinedContributionPlan401KMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_DiscreteTaxBenefit": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of discrete tax benefit.",
        "label": "blfs_DiscreteTaxBenefit",
        "terseLabel": "Discrete Tax Benefit"
       }
      }
     },
     "localname": "DiscreteTaxBenefit",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations before discrete items.",
        "label": "blfs_EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent",
        "terseLabel": "Effective Income Tax Rate Reconciliation, Before Discrete Items, Percent"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationBeforeDiscreteItemsPercent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "blfs_EquipmentLoansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents equipment loans.",
        "label": "Equipment Loans [Member]"
       }
      }
     },
     "localname": "EquipmentLoansMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour",
        "terseLabel": "Thereafter, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFour",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_FinancedInsurancePremiumMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents financed insurance premium.",
        "label": "Financed Insurance Premium [Member]"
       }
      }
     },
     "localname": "FinancedInsurancePremiumMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "blfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour",
        "verboseLabel": "Thereafter"
       }
      }
     },
     "localname": "FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_FixedAssetsHeldForRent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the fixed assets held for rent.",
        "label": "Fixed assets held for rent"
       }
      }
     },
     "localname": "FixedAssetsHeldForRent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_FreezerEquipmentLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to freezer equipment loan.",
        "label": "Freezer Equipment Loan [Member]"
       }
      }
     },
     "localname": "FreezerEquipmentLoanMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_FreezerInstallationLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to freezer installation loan.",
        "label": "Freezer Installation Loan [Member]"
       }
      }
     },
     "localname": "FreezerInstallationLoanMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_FurnitureAndComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the furniture and computer equipment.",
        "label": "Furniture and Computer Equipment [Member]"
       }
      }
     },
     "localname": "FurnitureAndComputerEquipmentMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_GCIAcquisitionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the GCI acquisition.",
        "label": "GCI Acquisition [Member]"
       }
      }
     },
     "localname": "GCIAcquisitionMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_GainLossOnDispositionOfAssetsHeldForRent": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets held for rent.",
        "label": "blfs_GainLossOnDispositionOfAssetsHeldForRent",
        "negatedLabel": "(Gain) loss on disposal of assets held for rent, net"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssetsHeldForRent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_GeographicOtherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents other geographic location.",
        "label": "Geographic, Other [Member]"
       }
      }
     },
     "localname": "GeographicOtherMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to in process research and development not related to abandonment.",
        "label": "In Process Research and Development Not Related to Abandonment [Member]"
       }
      }
     },
     "localname": "InProcessResearchAndDevelopmentNotRelatedToAbandonmentMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, other current assets and long-term deposits during the period.",
        "label": "blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits",
        "negatedLabel": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongtermDeposits",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_IncreaseDecreaseInWarrantyLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase (decrease) in warranty liability during the period.",
        "label": "Warranty liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInWarrantyLiability",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_IndefiniteInProcessResearchAndDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to indefinite.",
        "label": "Indefinite In Process Research and Development [Member]"
       }
      }
     },
     "localname": "IndefiniteInProcessResearchAndDevelopmentMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of investments in non-marketable equity securities and available-for-sale debt securities as of the balance sheet date.",
        "label": "Equity investments"
       }
      }
     },
     "localname": "InvestmentsInNonMarketableEquitySecuritiesAndAvailableForSaleDebtSecurities",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_LeaseExtensionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to lease extensions.",
        "label": "Lease Extensions [Member]"
       }
      }
     },
     "localname": "LeaseExtensionsMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_LesseeLeasesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating and financing leases of lessee.",
        "label": "Lessee, Leases [Text Block]"
       }
      }
     },
     "localname": "LesseeLeasesTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure represents the operating and finance lease term and discount rate of leases.",
        "label": "Lessee, Operating and Finance Lease Term And Discount Rate [Table Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
        "terseLabel": "Thereafter, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_LiquidityAndCapitalResourcesPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for liquidity and capital resources.",
        "label": "Liquidity and Capital Resources, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "LiquidityAndCapitalResourcesPolicyPolicyTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_LongtermDebtMaturityAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 5.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount of long-term debt maturity that takes place after year four.",
        "label": "blfs_LongtermDebtMaturityAfterYearFour",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongtermDebtMaturityAfterYearFour",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ManagementPerformanceBonusPlan2017Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the 2017 Management Performance Bonus Plan.",
        "label": "Management Performance Bonus Plan 2017 [Member]"
       }
      }
     },
     "localname": "ManagementPerformanceBonusPlan2017Member",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ManufacturingEquipmentLoansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to the manufacturing equipment loans.",
        "label": "Manufacturing Equipment Loans [Member]"
       }
      }
     },
     "localname": "ManufacturingEquipmentLoansMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_MarketbasedRestrictedStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to market-based restricted stock.",
        "label": "Market-based Restricted Stock [Member]"
       }
      }
     },
     "localname": "MarketbasedRestrictedStockMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_MarketbasedRestrictedStockSecondIssuanceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to the second issuance of market-based restricted stock.",
        "label": "Market-based Restricted Stock Second Issuance [Member]"
       }
      }
     },
     "localname": "MarketbasedRestrictedStockSecondIssuanceMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_MeasurementInputAssetPriceVolatilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the asset price volatility.",
        "label": "Measurement Input, Asset Price Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputAssetPriceVolatilityMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_MeasurementInputRevenueVolatilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using rate at which revenue of security will increase (decrease) for given set of returns.",
        "label": "Measurement Input, Revenue Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputRevenueVolatilityMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_NonUSGovernmentAgencySecuritiesCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents non-US government agency securities classified as cash equivalents.",
        "label": "Non-US Government Agency Securities, Cash Equivalents [Member]"
       }
      }
     },
     "localname": "NonUSGovernmentAgencySecuritiesCashEquivalentsMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_NoncashLeaseExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash lease expense.",
        "label": "Non-cash lease expense"
       }
      }
     },
     "localname": "NoncashLeaseExpense",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equipment acquired under operating leases in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Equipment acquired under operating leases"
       }
      }
     },
     "localname": "NoncashOrPartNoncashAcquisitionEquipmentAcquiredUnderOperatingLeases",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_NoteToFinancialStatementDetailsTextual": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note To Financial Statement Details Textual"
       }
      }
     },
     "localname": "NoteToFinancialStatementDetailsTextual",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_NotesToFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "localname": "NotesToFinancialStatementsAbstract",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_OneGCIStockholderMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents one GCI stockholder.",
        "label": "One GCI Stockholder [Member]"
       }
      }
     },
     "localname": "OneGCIStockholderMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_OperatingLeaseCostsAndShorttermLeaseCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of operating lease costs along with short-term lease costs.",
        "label": "blfs_OperatingLeaseCostsAndShorttermLeaseCosts",
        "totalLabel": "Total operating lease costs"
       }
      }
     },
     "localname": "OperatingLeaseCostsAndShorttermLeaseCosts",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_OtherLoansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to other loans.",
        "label": "Other Loans [Member]"
       }
      }
     },
     "localname": "OtherLoansMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_PaymentsToAcquireAssetsHeldForRent": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for payments to acquire assets held for rent.",
        "label": "blfs_PaymentsToAcquireAssetsHeldForRent",
        "negatedLabel": "Purchases of assets held for rent"
       }
      }
     },
     "localname": "PaymentsToAcquireAssetsHeldForRent",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_PreferredStockSharesDesignated": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of nonredeemable preferred shares designated.",
        "label": "Preferred stock, shares designated (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesDesignated",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_ProductCellProcessingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to cell processing product.",
        "label": "Product, Cell Processing [Member]"
       }
      }
     },
     "localname": "ProductCellProcessingMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ProductFreezerAndThawMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to freezer and thaw product.",
        "label": "Product, Freezer and Thaw [Member]"
       }
      }
     },
     "localname": "ProductFreezerAndThawMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_RealEstateLeaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leases related to real estate.",
        "label": "Real Estate Lease[Member]"
       }
      }
     },
     "localname": "RealEstateLeaseMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_RentalRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to rental revenue.",
        "label": "Rental Revenue [Member]"
       }
      }
     },
     "localname": "RentalRevenueMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_RevenuesByProductLineTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of revenues by product line.",
        "label": "Revenues By Product Line [Table Text Block]"
       }
      }
     },
     "localname": "RevenuesByProductLineTableTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_RiskAndUncertaintiesPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for risk and uncertainties.",
        "label": "Risk and Uncertainties, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "RiskAndUncertaintiesPolicyPolicyTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_ScheduleOfAssetsHeldForRentTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets held for rent.",
        "label": "Scheduleof Assets Held for Rent [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAssetsHeldForRentTableTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_SciSafeHoldingsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to SciSafe Holdings, Inc.",
        "label": "SciSafe Holdings, Inc [Member]"
       }
      }
     },
     "localname": "SciSafeHoldingsIncMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_SeriesA1AndA2PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to series A-1 and A-2 preferred stock.",
        "label": "Series A-1 and A-2, Preferred Stock [Member]"
       }
      }
     },
     "localname": "SeriesA1AndA2PreferredStockMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ServiceRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the service revenue.",
        "label": "Service Revenue [Member]"
       }
      }
     },
     "localname": "ServiceRevenueMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_SextonAcquisitionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information of the Sexton Merger.",
        "label": "Sexton Acquisition [Member]"
       }
      }
     },
     "localname": "SextonAcquisitionMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents expected volatility rate period for share based payment award by share based payment.",
        "label": "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod",
        "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Period (Year)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.",
        "label": "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Aggregate Fair Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of non-vested equity-based payment instruments, excluding stock (or unit) options, vested.",
        "label": "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents historical volatility for fair value assumptions for share-based payment award by share based compensation.",
        "label": "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Historical Volatility Rate"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percent of shares that may be issued in accordance with the plan as a proportion of outstanding awards.",
        "label": "blfs_SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Awards"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPercentageOfAwards",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "blfs_SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to option and restricted stock awards.",
        "label": "Share-based Payment Arrangement, Option and Restricted Stock Awards [Member]"
       }
      }
     },
     "localname": "SharebasedPaymentArrangementOptionAndRestrictedStockAwardsMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_ShippersAndRelatedComponentsInProduction": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details": {
       "order": 1.0,
       "parentTag": "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value of shippers and related components in production.",
        "label": "Shippers and related components in production"
       }
      }
     },
     "localname": "ShippersAndRelatedComponentsInProduction",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents shippers placed in service and fixed assets held for rent, net",
        "label": "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "ShippersPlacedInServiceAndFixedAssetsHeldForRentNet",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ShippersPlacedInServiceDepreciation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of depreciation related to shippers placed in service.",
        "label": "Accumulated depreciation"
       }
      }
     },
     "localname": "ShippersPlacedInServiceDepreciation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ShippersPlacedInServiceGross": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gross value of shippers placed in service.",
        "label": "Shippers placed in service"
       }
      }
     },
     "localname": "ShippersPlacedInServiceGross",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_ShippersPlacedInServiceNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details": {
       "order": 0.0,
       "parentTag": "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value of shippers placed in service, net of accumulated depreciation.",
        "label": "Net"
       }
      }
     },
     "localname": "ShippersPlacedInServiceNet",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_SignificantAccountingPoliciesPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The accounting policy for significant accounting policies.",
        "label": "Significant Accounting Policies [Policy Text Block]"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesPolicyTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_StockIssuedDuringPeriodSharesCashlessWarrantExercises": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued during this period as cashless warrant exercise.",
        "label": "Cashless exercises of warrants (in shares)",
        "terseLabel": "Stock Issued During Period, Shares, Cashless Warrant Exercises (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesCashlessWarrantExercises",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_StockIssuedDuringPeriodSharesContingentConsideration": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued during the period under contingent consideration.",
        "label": "Contingent consideration shares issued (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesContingentConsideration",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "blfs_StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of stock issued during the period for cashless issuance of earnout shares.",
        "label": "Cashless issuance of SciSafe earnout shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueCashlessIssuanceOfEarnoutShares",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_StockIssuedDuringPeriodValueCashlessWarrantExercises": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of stock issued during the period for cashless warrant exercises.",
        "label": "Cashless exercises of warrants"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueCashlessWarrantExercises",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_StockIssuedDuringPeriodValueContingentConsideration": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of stock issued during the period under contingent consideration.",
        "label": "Contingent consideration shares issued"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueContingentConsideration",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_StorageAndStorageServicesProductRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to storage and storage services product revenue.",
        "label": "Storage and Storage Services Product Revenue [Member]"
       }
      }
     },
     "localname": "StorageAndStorageServicesProductRevenueMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_StorageAndStorageServicesRentalRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to storage and storage services rental revenue.",
        "label": "Storage and Storage Services Rental Revenue [Member]"
       }
      }
     },
     "localname": "StorageAndStorageServicesRentalRevenueMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_StorageAndStorageServicesServiceRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to storage and storage services service revenue.",
        "label": "Storage and Storage Services Service Revenue [Member]"
       }
      }
     },
     "localname": "StorageAndStorageServicesServiceRevenueMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_The2022TermLoan1Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to the 2022 term loan 1.",
        "label": "The 2022 Term Loan 1 [Member]"
       }
      }
     },
     "localname": "The2022TermLoan1Member",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_The2022TermLoan2Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to the 2022 term loan 2.",
        "label": "The 2022 Term Loan 2 [Member]"
       }
      }
     },
     "localname": "The2022TermLoan2Member",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the basic earnings (loss) per share or per unit calculation under the two-class method.",
        "label": "blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation",
        "terseLabel": "Amount attributable to unvested restricted shares"
       }
      }
     },
     "localname": "UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicNonvestedShareBasedCompensation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings (loss) allocated to participating securities of warrants outstanding for the basic earnings (loss) per share or per unit calculation under the two-class method.",
        "label": "Amount attributable to warrants outstanding"
       }
      }
     },
     "localname": "UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasicWarrantsOutstanding",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings (loss) allocated to participating securities of nonvested share based compensation for the diluted earnings (loss) per share or per unit calculation under the two-class method.",
        "label": "Amount attributable to unvested restricted shares"
       }
      }
     },
     "localname": "UndistributedEarningsLossAllocatedToParticipatingSecuritiesDilutedNonvestedShareBasedCompensation",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_WarrantLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to warrant liabilities.",
        "label": "Warrant Liabilities [Member]"
       }
      }
     },
     "localname": "WarrantLiabilitiesMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_WarrantsExercisedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents warrants exercised.",
        "label": "Warrants Exercised [Member]"
       }
      }
     },
     "localname": "WarrantsExercisedMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_WarrantsInConnectionWithWaviCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to warrants in connection with WAVI credit facility.",
        "label": "Warrants in Connection with WAVI Credit Facility [Member]"
       }
      }
     },
     "localname": "WarrantsInConnectionWithWaviCreditFacilityMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_WarrantsIncomeStatementImpact": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of warrants that is an adjustment to net income.",
        "label": "blfs_WarrantsIncomeStatementImpact",
        "negatedLabel": "Amount attributable to warrants"
       }
      }
     },
     "localname": "WarrantsIncomeStatementImpact",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "blfs_WarrantsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entire disclosure for warrants.",
        "label": "Warrants [Text Block]"
       }
      }
     },
     "localname": "WarrantsTextBlock",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants"
     ],
     "xbrltype": "textBlockItemType"
    },
    "blfs_WarrantsToPurchaseCommonStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to warrants to purchase common stock.",
        "label": "Warrants to Purchase Common Stock [Member]"
       }
      }
     },
     "localname": "WarrantsToPurchaseCommonStockMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_WaviHoldingAgAndTaurus4757GmbhWarrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the warrants issued to WAVI Holding AG and Taurus4757 GmbH.",
        "label": "WAVI Holding AG and Taurus4757 GmbH Warrants [Member]"
       }
      }
     },
     "localname": "WaviHoldingAgAndTaurus4757GmbhWarrantsMember",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "blfs_statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 1 - Organization and Significant Accounting Policies - Concentrations Risk by Geographic Locations (Details)"
       }
      }
     },
     "localname": "statement-statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 1 - Organization and Significant Accounting Policies - Significant Customers (Details)"
       }
      }
     },
     "localname": "statement-statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-1-organization-and-significant-accounting-policies-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 1 - Organization and Significant Accounting Policies"
       }
      }
     },
     "localname": "statement-statement-note-1-organization-and-significant-accounting-policies-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Warranty Reserve Liability - Schedule of Warranty Liability (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-10-warranty-reserve-liability-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Warranty Reserve Liability"
       }
      }
     },
     "localname": "statement-statement-note-10-warranty-reserve-liability-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-11-longterm-debt-longterm-debt-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Long-term Debt - Long-term Debt (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-longterm-debt-longterm-debt-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Long-term Debt - Maturities of Loans Payable (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-longterm-debt-maturities-of-loans-payable-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-11-longterm-debt-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Long-term Debt"
       }
      }
     },
     "localname": "statement-statement-note-11-longterm-debt-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-12-warrants-summary-of-warrant-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Warrants - Summary of Warrant Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-12-warrants-summary-of-warrant-activity-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-12-warrants-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Warrants"
       }
      }
     },
     "localname": "statement-statement-note-12-warrants-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-13-revenue-revenues-by-product-line-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Revenue - Revenues by Product Line (Details)"
       }
      }
     },
     "localname": "statement-statement-note-13-revenue-revenues-by-product-line-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Revenue - Summary of Remaining Performance Obligations 2 (Details)"
       }
      }
     },
     "localname": "statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Revenue - Summary of Remaining Performance Obligations (Details)"
       }
      }
     },
     "localname": "statement-statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-13-revenue-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Revenue"
       }
      }
     },
     "localname": "statement-statement-note-13-revenue-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Share-based Compensation - Restricted Stock Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-14-sharebased-compensation-restricted-stock-activity-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Share-based Compensation - Stock Compensation Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-14-sharebased-compensation-stock-compensation-expense-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-14-sharebased-compensation-stock-option-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Share-based Compensation - Stock Option Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-14-sharebased-compensation-stock-option-activity-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-14-sharebased-compensation-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Share-based Compensation"
       }
      }
     },
     "localname": "statement-statement-note-14-sharebased-compensation-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-15-acquisitions-acquired-intangible-assets-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Acquisitions - Acquired Intangible Assets (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-acquisitions-acquired-intangible-assets-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-15-acquisitions-consideration-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Acquisitions - Consideration (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-acquisitions-consideration-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Acquisitions - Fair Value of Net Assets Acquired (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-15-acquisitions-pro-forma-information-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Acquisitions - Pro Forma Information (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-acquisitions-pro-forma-information-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-15-acquisitions-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Acquisitions"
       }
      }
     },
     "localname": "statement-statement-note-15-acquisitions-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Net (Loss) Income Common Share - Anti-dilutive Securities Excluded From Computation (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Net (Loss) Income Per Common Share - Calculation of Diluted Shares (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-17-net-loss-income-per-common-share-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Net (Loss) Income Per Common Share"
       }
      }
     },
     "localname": "statement-statement-note-17-net-loss-income-per-common-share-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Fair Value Measurement - Fair Value of Contingent Consideration Using Level 3 Inputs (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Fair Value Measurement - Fair Value of Warrant Liabilities Using Level 3 Inputs (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Fair Value Measurement - Financial Assets and Liabilities on Recurring Basis (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-2-fair-value-measurement-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Fair Value Measurement"
       }
      }
     },
     "localname": "statement-statement-note-2-fair-value-measurement-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-3-investments-availableforsale-marketable-securities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Investments - Available-For-Sale Marketable Securities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-investments-availableforsale-marketable-securities-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-3-investments-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Investments"
       }
      }
     },
     "localname": "statement-statement-note-3-investments-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-4-inventory-summary-of-inventories-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventory - Summary of Inventories (Details)"
       }
      }
     },
     "localname": "statement-statement-note-4-inventory-summary-of-inventories-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-4-inventory-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventory"
       }
      }
     },
     "localname": "statement-statement-note-4-inventory-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-5-leases-components-of-lease-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Leases - Components of Lease Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-leases-components-of-lease-expense-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-5-leases-lease-term-and-discount-rate-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Leases - Lease Term and Discount Rate (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-leases-lease-term-and-discount-rate-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-5-leases-maturities-of-lease-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Leases - Maturities of Lease Liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-leases-maturities-of-lease-liabilities-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-5-leases-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Leases"
       }
      }
     },
     "localname": "statement-statement-note-5-leases-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Assets Held for Rent - Assets Held for Rent (Details)"
       }
      }
     },
     "localname": "statement-statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-6-assets-held-for-rent-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Assets Held for Rent"
       }
      }
     },
     "localname": "statement-statement-note-6-assets-held-for-rent-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Property and Equipment - Schedule of Property and Equipment (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-7-property-and-equipment-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Property and Equipment"
       }
      }
     },
     "localname": "statement-statement-note-7-property-and-equipment-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Goodwill and Intangible Assets - Future Amortization Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Goodwill and Intangible Assets - Intangible Assets (Details)"
       }
      }
     },
     "localname": "statement-statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-8-goodwill-and-intangible-assets-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "statement-statement-note-8-goodwill-and-intangible-assets-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Accrued Expenses and Other Current Liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-accrued-expenses-and-other-current-liabilities-details",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Accrued Expenses and Other Current Liabilities"
       }
      }
     },
     "localname": "statement-statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "blfs_statement-statement-significant-accounting-policies-policies": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies"
       }
      }
     },
     "localname": "statement-statement-significant-accounting-policies-policies",
     "nsuri": "http://www.biolifesolutions.com/20220630",
     "xbrltype": "stringItemType"
    },
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r710"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r698"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r46",
      "r48",
      "r102",
      "r103",
      "r288",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ExecutiveOfficerMember": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]"
       }
      }
     },
     "localname": "ExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r186",
      "r335",
      "r340",
      "r658"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r287",
      "r312",
      "r420",
      "r430",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r617",
      "r655",
      "r659",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r287",
      "r312",
      "r420",
      "r430",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r617",
      "r655",
      "r659",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r186",
      "r335",
      "r340",
      "r658"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r183",
      "r259",
      "r260",
      "r335",
      "r338",
      "r619",
      "r654",
      "r656"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r183",
      "r259",
      "r260",
      "r335",
      "r338",
      "r619",
      "r654",
      "r656"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r253",
      "r258",
      "r259",
      "r260",
      "r261",
      "r287",
      "r312",
      "r368",
      "r420",
      "r430",
      "r460",
      "r461",
      "r462",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r617",
      "r655",
      "r659",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r253",
      "r258",
      "r259",
      "r260",
      "r261",
      "r287",
      "r312",
      "r368",
      "r420",
      "r430",
      "r460",
      "r461",
      "r462",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r617",
      "r655",
      "r659",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r47",
      "r48",
      "r102",
      "r103",
      "r288",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r184",
      "r185",
      "r335",
      "r339",
      "r657",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r184",
      "r185",
      "r335",
      "r339",
      "r657",
      "r683",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r187",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_WeightedAverageMember": {
     "auth_ref": [
      "r593",
      "r595",
      "r598",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average [Member]"
       }
      }
     },
     "localname": "WeightedAverageMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.",
        "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]"
       }
      }
     },
     "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r36",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r188",
      "r189"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable, trade, net of allowance for doubtful accounts of $458 and $275 as of June 30, 2022 and December 31, 2021, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r16",
      "r626",
      "r642"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": 1.0,
       "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "us-gaap_AccruedIncomeTaxesCurrent",
        "verboseLabel": "Accrued taxes"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": 4.0,
       "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "us-gaap_AccruedLiabilitiesCurrent",
        "verboseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r10",
      "r249"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
        "negatedLabel": "Less: Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r23",
      "r52",
      "r53",
      "r54",
      "r644",
      "r664",
      "r665"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated other comprehensive loss, net of taxes"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r51",
      "r54",
      "r60",
      "r61",
      "r62",
      "r106",
      "r107",
      "r108",
      "r534",
      "r580",
      "r660",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r106",
      "r107",
      "r108",
      "r472",
      "r473",
      "r474",
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r431",
      "r475",
      "r476"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
        "verboseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "auth_ref": [
      "r317",
      "r320"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.",
        "label": "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
        "negatedLabel": "Fees incurred for registration filings"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net (loss) income to net cash used in operating activities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r465"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Stock compensation expense",
        "terseLabel": "Share-Based Payment Arrangement, Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r27",
      "r190",
      "r212"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts receivable, allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r87",
      "r233",
      "r240"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 3.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Intangible asset amortization",
        "terseLabel": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Anti-dilutive securities (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r87",
      "r246"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 1.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Intangible asset impairment charges"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r14",
      "r97",
      "r166",
      "r175",
      "r181",
      "r208",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r531",
      "r535",
      "r555",
      "r582",
      "r584",
      "r624",
      "r641"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r4",
      "r35",
      "r97",
      "r208",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r531",
      "r535",
      "r555",
      "r582",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_AssetsCurrent",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_AssetsFairValueDisclosure",
        "totalLabel": "Assets"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r197"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Total marketable securities"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r195",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Total",
        "verboseLabel": "Total"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r192",
      "r196",
      "r219",
      "r629"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Total",
        "verboseLabel": "Marketable debt securities"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "auth_ref": [
      "r194",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent",
        "verboseLabel": "Due in one year or less"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "auth_ref": [
      "r8",
      "r194",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
        "verboseLabel": "Due after one year through five years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r413",
      "r426",
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r413",
      "r426",
      "r506",
      "r507",
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "auth_ref": [
      "r525"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity.",
        "label": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
        "terseLabel": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)",
        "verboseLabel": "Merger consideration shares (in shares)"
       }
      }
     },
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r504",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r504",
      "r505"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss",
        "verboseLabel": "Net income (loss)"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r504",
      "r505"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "us-gaap_BusinessAcquisitionsProFormaRevenue",
        "verboseLabel": "Total revenue"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r501"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 5.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Acquisition costs"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r520",
      "r521",
      "r524"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "us-gaap_BusinessCombinationConsiderationTransferred1",
        "verboseLabel": "Merger Consideration"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r520",
      "r521"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Stock issued as consideration to acquire Global Cooling, Inc.",
        "verboseLabel": "Value of issued shares"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r86",
      "r527"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 7.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Change in fair value of contingent consideration",
        "terseLabel": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "verboseLabel": "Change in fair value of contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "auth_ref": [
      "r519",
      "r522",
      "r526"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.",
        "label": "us-gaap_BusinessCombinationContingentConsiderationLiability",
        "terseLabel": "Business Combination, Contingent Consideration, Liability, Total",
        "verboseLabel": "Contingent consideration - business combinations"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": {
     "auth_ref": [
      "r519",
      "r523"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.",
        "label": "Contingent consideration, current portion"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": {
     "auth_ref": [
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of input used to measure contingent consideration liability from business combination.",
        "label": "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput",
        "terseLabel": "Business Combination, Contingent Consideration, Liability, Measurement Input"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "decimalItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "auth_ref": [
      "r519",
      "r523"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.",
        "label": "Contingent consideration, long-term"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r513",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod": {
     "auth_ref": [
      "r511"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in income that would have been recognized in previous periods if the adjustments to provisional amounts were recognized as of the acquisition date.",
        "label": "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod",
        "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustments Related to Previous Period"
       }
      }
     },
     "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
        "verboseLabel": "Cash"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
        "verboseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
        "negatedTerseLabel": "Accounts payable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
        "negatedTerseLabel": "Deferred tax liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets",
        "verboseLabel": "In-process research and development"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
        "verboseLabel": "Total identifiable intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "auth_ref": [
      "r508",
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
        "verboseLabel": "Developed technology"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": {
     "auth_ref": [
      "r508",
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of inventory recognized as of the acquisition date.",
        "label": "Inventories",
        "verboseLabel": "Inventories"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
        "negatedTerseLabel": "Long-term debt"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
        "negatedTerseLabel": "Other liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r508",
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
        "verboseLabel": "Fair value of net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1": {
     "auth_ref": [
      "r502"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value at acquisition-date of the equity interest in the acquiree held by the acquirer, immediately before the acquisition date for businesses combined in stages.",
        "label": "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1",
        "verboseLabel": "plus: Fair value of BioLife\u2019s existing investment in Sexton"
       }
      }
     },
     "localname": "BusinessCombinationStepAcquisitionEquityInterestInAcquireeFairValue1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss": {
     "auth_ref": [
      "r503"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "In a business combination achieved in stages, this element represents the amount of net gain (loss) recognized by the entity as a result of remeasuring to fair value the equity interest in the acquiree it held before the business combination.",
        "label": "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss",
        "terseLabel": "Business Combination, Step Acquisition, Equity Interest in Acquiree, Remeasurement Gain (Loss), Net, Total"
       }
      }
     },
     "localname": "BusinessCombinationStepAcquisitionEquityInterestInAcquireeRemeasurementGainOrLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r91",
      "r92",
      "r93"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Purchase of property and equipment not yet paid"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAcquiredFromAcquisition": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).",
        "label": "Cash acquired in acquisition of Global Cooling, Inc."
       }
      }
     },
     "localname": "CashAcquiredFromAcquisition",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r7",
      "r89"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of cash and cash equivalent balance.",
        "label": "Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashAndCashEquivalentsFairValueDisclosure",
        "verboseLabel": "Cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsAndShortTermInvestments": {
     "auth_ref": [
      "r35"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.",
        "label": "us-gaap_CashCashEquivalentsAndShortTermInvestments",
        "terseLabel": "Cash, Cash Equivalents, and Short-Term Investments, Total"
       }
      }
     },
     "localname": "CashCashEquivalentsAndShortTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r83",
      "r89",
      "r94"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
        "periodEndLabel": "Cash, cash equivalents, and restricted cash \u2013 end of period",
        "periodStartLabel": "Cash, cash equivalents, and restricted cash \u2013 beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r83",
      "r556"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
        "totalLabel": "Net decrease in cash, cash equivalents, and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-cash investing and financing activities"
       }
      }
     },
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r18",
      "r19",
      "r20",
      "r95",
      "r97",
      "r122",
      "r127",
      "r132",
      "r135",
      "r137",
      "r145",
      "r146",
      "r147",
      "r208",
      "r273",
      "r277",
      "r278",
      "r279",
      "r282",
      "r283",
      "r310",
      "r311",
      "r314",
      "r315",
      "r317",
      "r555",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightAxis": {
     "auth_ref": [
      "r321",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of warrant or right issued.",
        "label": "Class of Warrant or Right [Axis]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfWarrantOrRightDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months.",
        "label": "Class of Warrant or Right [Domain]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": {
     "auth_ref": [
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share or per unit of warrants or rights outstanding.",
        "label": "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
        "periodEndLabel": "Ending balance (in dollars per share)",
        "periodStartLabel": "Beginning balance (in dollars per share)",
        "terseLabel": "Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights": {
     "auth_ref": [
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.",
        "label": "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
        "terseLabel": "Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of warrants or rights outstanding.",
        "label": "us-gaap_ClassOfWarrantOrRightOutstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r44",
      "r631",
      "r648"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies (Note 12)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r255",
      "r256",
      "r257",
      "r262",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r106",
      "r107",
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common stock, issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r20",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common stock, outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r20",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common stock, $0.001 par value; 150,000,000 shares authorized, 42,536,734 and 41,817,503 shares issued and outstanding, respectively, as of June 30, 2022 and December 31, 2021"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r56",
      "r58",
      "r59",
      "r65",
      "r634",
      "r650"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "us-gaap_ComprehensiveIncomeNetOfTax",
        "totalLabel": "Comprehensive (loss) income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r156",
      "r157",
      "r186",
      "r552",
      "r553",
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r156",
      "r157",
      "r186",
      "r552",
      "r553",
      "r667",
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r156",
      "r157",
      "r186",
      "r552",
      "r553",
      "r667",
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r150",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r156",
      "r157",
      "r186",
      "r552",
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration by customer",
        "verboseLabel": "Revenue by customers' geographic locations, percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r156",
      "r157",
      "r186",
      "r552",
      "r553",
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress [Member]"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContingentConvertiblePreferredStockMember": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred stock that may be exchanged into common shares or other types of securities based on a contingency.",
        "label": "Contingent Convertible Preferred Stock [Member]"
       }
      }
     },
     "localname": "ContingentConvertiblePreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r322",
      "r323",
      "r336"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": 3.0,
       "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "us-gaap_ContractWithCustomerLiabilityCurrent",
        "verboseLabel": "Deferred revenue, current"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "auth_ref": [
      "r369",
      "r408",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.",
        "label": "Corporate Debt Securities [Member]"
       }
      }
     },
     "localname": "CorporateDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r69",
      "r619"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 0.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of goods and services"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostsAndExpenses": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total costs of sales and operating expenses for the period.",
        "label": "us-gaap_CostsAndExpenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "CostsAndExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r154",
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r15",
      "r16",
      "r17",
      "r96",
      "r104",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r304",
      "r305",
      "r306",
      "r307",
      "r565",
      "r625",
      "r627",
      "r640"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r17",
      "r302",
      "r627",
      "r640"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Debt, carrying amount",
        "totalLabel": "Total debt, excluding unamortized debt issuance costs"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r41",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r42",
      "r96",
      "r104",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r304",
      "r305",
      "r306",
      "r307",
      "r565"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent": {
     "auth_ref": [
      "r198",
      "r219",
      "r220"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Available-for-sale securities, long-term"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent": {
     "auth_ref": [
      "r195",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Current",
        "verboseLabel": "Due in one year or less"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Available-for-sale securities, current portion"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent": {
     "auth_ref": [
      "r195",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, NoncurrentDebt Securities, Available-for-Sale, Amortized Cost, Noncurrent",
        "verboseLabel": "Due after one year through five years"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": {
     "auth_ref": [
      "r203"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale [Table Text Block]"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredCompensationLiabilityCurrent": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": 2.0,
       "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable within one year (or the operating cycle, if longer). Represents currently earned compensation under compensation arrangements that is not actually paid until a later date.",
        "label": "us-gaap_DeferredCompensationLiabilityCurrent",
        "verboseLabel": "Accrued compensation"
       }
      }
     },
     "localname": "DeferredCompensationLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r291",
      "r564"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "us-gaap_DeferredFinanceCostsNet",
        "negatedLabel": "Less: unamortized debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r87",
      "r98",
      "r487",
      "r492",
      "r493",
      "r494"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred income tax benefit"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r479",
      "r480"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.",
        "label": "us-gaap_DeferredRevenueRevenueRecognized1",
        "terseLabel": "Deferred Revenue, Revenue Recognized"
       }
      }
     },
     "localname": "DeferredRevenueRevenueRecognized1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r485"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "us-gaap_DeferredTaxAssetsValuationAllowance",
        "terseLabel": "Deferred Tax Assets, Valuation Allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount",
        "terseLabel": "Defined Contribution Plan, Employer Discretionary Contribution Amount"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.",
        "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
        "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay"
       }
      }
     },
     "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanTextBlock": {
     "auth_ref": [
      "r410",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for defined contribution plan.",
        "label": "Defined Contribution Plan [Text Block]"
       }
      }
     },
     "localname": "DefinedContributionPlanTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.",
        "label": "Long-term deposits and other assets"
       }
      }
     },
     "localname": "DepositsAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r87",
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "us-gaap_Depreciation",
        "terseLabel": "Depreciation, Total"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r87",
      "r164"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r518"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r434",
      "r435",
      "r466",
      "r467",
      "r469",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DisclosureTextBlockAbstract",
        "terseLabel": "Notes to Financial Statements"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EMEAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Regions of Europe, Middle East and Africa.",
        "label": "EMEA [Member]"
       }
      }
     },
     "localname": "EMEAMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net (loss) income attributable to common shareholders:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r66",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r119",
      "r122",
      "r135",
      "r136",
      "r137",
      "r141",
      "r142",
      "r539",
      "r540",
      "r635",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r66",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r122",
      "r135",
      "r136",
      "r137",
      "r141",
      "r142",
      "r539",
      "r540",
      "r635",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r138",
      "r139",
      "r140",
      "r143"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r556"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effects of currency translation on cash, cash equivalents, and restricted cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
        "terseLabel": "Effective Income Tax Rate Reconciliation, Percent, Total"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r99",
      "r482",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
        "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r468"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-Based Payment Arrangement, Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r60",
      "r61",
      "r62",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r144",
      "r211",
      "r317",
      "r320",
      "r472",
      "r473",
      "r474",
      "r488",
      "r489",
      "r538",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r580",
      "r660",
      "r661",
      "r662"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityInterestIssuedOrIssuableByTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of equity interests that are issued or issuable in a business combination.",
        "label": "Equity Interest Type [Axis]"
       }
      }
     },
     "localname": "EquityInterestIssuedOrIssuableByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityInterestIssuedOrIssuableTypeDomain": {
     "auth_ref": [
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of equity interest issued or issuable to acquire an entity in a business combination.",
        "label": "Equity Interest Issued or Issuable, Type [Domain]"
       }
      }
     },
     "localname": "EquityInterestIssuedOrIssuableTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": {
     "auth_ref": [
      "r204"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in equity security without readily determinable fair value.",
        "label": "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount",
        "terseLabel": "Equity Securities without Readily Determinable Fair Value, Amount"
       }
      }
     },
     "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueAdjustmentOfWarrants": {
     "auth_ref": [
      "r87",
      "r309"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (income) related to adjustment to fair value of warrant liability.",
        "label": "Change in fair value of warrant liability",
        "negatedLabel": "Change in fair value of warrant liability"
       }
      }
     },
     "localname": "FairValueAdjustmentOfWarrants",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r293",
      "r304",
      "r305",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r408",
      "r542",
      "r590",
      "r591",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByLiabilityClassAxis": {
     "auth_ref": [
      "r549",
      "r550"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of liability.",
        "label": "Liability Class [Axis]"
       }
      }
     },
     "localname": "FairValueByLiabilityClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r541",
      "r542",
      "r544",
      "r545",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r293",
      "r369",
      "r370",
      "r375",
      "r408",
      "r542",
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r293",
      "r304",
      "r305",
      "r369",
      "r370",
      "r375",
      "r408",
      "r542",
      "r591"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r293",
      "r304",
      "r305",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r408",
      "r542",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": {
     "auth_ref": [
      "r546"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents classes of liabilities measured and disclosed at fair value.",
        "label": "Fair Value by Liability Class [Domain]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r546",
      "r550"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1": {
     "auth_ref": [
      "r547"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3).",
        "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1",
        "verboseLabel": "Change in fair value recognized in net (loss) income"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "auth_ref": [
      "r548"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
        "negatedLabel": "Exercised warrants",
        "verboseLabel": "Payment of contingent consideration earned"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": {
     "auth_ref": [
      "r546"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r293",
      "r304",
      "r305",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r408",
      "r590",
      "r591",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r549",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r567",
      "r578"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "us-gaap_FinanceLeaseLiability",
        "verboseLabel": "Total present value of financing lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r567"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Lease liabilities, financing, current portion"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r567"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Lease liabilities, financing, long-term"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
        "totalLabel": "Total financing lease payments, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year.",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
        "terseLabel": "2022 (6 months remaining), finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r578"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Less: financing lease interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r566"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Financing lease right-of-use assets, net"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r576",
      "r579"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent",
        "terseLabel": "Weighted average discount rate - finance leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r575",
      "r579"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1",
        "terseLabel": "Weighted average remaining lease term in years - finance leases (Year)"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r199",
      "r200",
      "r204",
      "r205",
      "r206",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r222",
      "r223",
      "r224",
      "r225",
      "r301",
      "r316",
      "r537",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Weighted Average Useful Life (Year)",
        "verboseLabel": "Intangible assets, estimated useful life (Year)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r12",
      "r239"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r241"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
        "verboseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
        "verboseLabel": "2022 (6 months remaining)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r241"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
        "verboseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r241"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
        "verboseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r241"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r234",
      "r236",
      "r239",
      "r243",
      "r620",
      "r621"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r239",
      "r621"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Gross Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r234",
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r239",
      "r620"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Net Carrying Value",
        "terseLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r563"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment",
        "negatedLabel": "Loss on disposal of property and equipment, net"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 2.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r155",
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r11",
      "r228",
      "r229",
      "r230",
      "r231",
      "r584",
      "r623"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "terseLabel": "Goodwill, Ending Balance",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r245"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": {
     "auth_ref": [
      "r87",
      "r244"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.",
        "label": "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill",
        "terseLabel": "Impairment of Intangible Assets (Excluding Goodwill), Total"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": {
     "auth_ref": [
      "r87",
      "r244"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.",
        "label": "us-gaap_ImpairmentOfIntangibleAssetsFinitelived",
        "terseLabel": "Impairment of Intangible Assets, Finite-Lived"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsFinitelived",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill": {
     "auth_ref": [
      "r87",
      "r244"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.",
        "label": "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
        "terseLabel": "Impairment of Intangible Assets, Indefinite-Lived (Excluding Goodwill)"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.",
        "label": "In Process Research and Development [Member]"
       }
      }
     },
     "localname": "InProcessResearchAndDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r63",
      "r166",
      "r174",
      "r177",
      "r180",
      "r182",
      "r622",
      "r632",
      "r636",
      "r652"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
        "totalLabel": "Loss before income tax benefit"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r251",
      "r254"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r254"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r99",
      "r483",
      "r484",
      "r486",
      "r490",
      "r496",
      "r498",
      "r499",
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r100",
      "r117",
      "r118",
      "r165",
      "r481",
      "r491",
      "r497",
      "r653"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "us-gaap_IncomeTaxExpenseBenefit",
        "negatedLabel": "Income tax benefit",
        "terseLabel": "Income Tax Expense (Benefit), Total"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "us-gaap_IncreaseDecreaseInAccountsPayable",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "us-gaap_IncreaseDecreaseInAccountsReceivable",
        "negatedLabel": "Accounts receivable, trade, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.",
        "label": "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
        "terseLabel": "Accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "us-gaap_IncreaseDecreaseInInventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in operating assets and liabilities, net of effects of acquisitions"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants": {
     "auth_ref": [
      "r123",
      "r124",
      "r125",
      "r137"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method.",
        "label": "Warrants (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToCallOptionsAndWarrants",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r123",
      "r124",
      "r126",
      "r137",
      "r432"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Share-Based Payment Arrangements (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r235",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite-Lived Intangible Assets [Axis]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r235",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company.",
        "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "auth_ref": [
      "r11"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill.",
        "label": "Total intangible assets, gross"
       }
      }
     },
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r232",
      "r237"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Total intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of nonoperating interest income (expense).",
        "label": "Interest expense, net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r82",
      "r84",
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Cash interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r28",
      "r226"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details": {
       "order": 0.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r3",
      "r34",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "us-gaap_InventoryNet",
        "terseLabel": "Inventories",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r30",
      "r226"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r29",
      "r226"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Work in progress"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentTextBlock": {
     "auth_ref": [
      "r203",
      "r207",
      "r209",
      "r210"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for investment.",
        "label": "Investment [Text Block]"
       }
      }
     },
     "localname": "InvestmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentTypeAxis": {
     "auth_ref": [
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of investments.",
        "label": "Investment Type [Axis]"
       }
      }
     },
     "localname": "InvestmentTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "auth_ref": [
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset obtained to generate income or appreciate in value.",
        "label": "Investments [Domain]"
       }
      }
     },
     "localname": "InvestmentTypeCategorizationMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseContractualTermAxis": {
     "auth_ref": [
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by contractual term of lease arrangement.",
        "label": "Lease Contractual Term [Axis]"
       }
      }
     },
     "localname": "LeaseContractualTermAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseContractualTermDomain": {
     "auth_ref": [
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual term of lease arrangement.",
        "label": "Lease Contractual Term [Domain]"
       }
      }
     },
     "localname": "LeaseContractualTermDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r577",
      "r579"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Total lease costs"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
        "totalLabel": "Total operating lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r578"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
        "terseLabel": "2022 (6 months remaining), operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r578"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Less: operating lease interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm",
        "terseLabel": "Lessee, Operating Lease, Remaining Lease Term (Year)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRemainingLeaseTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_LesseeOperatingLeaseTermOfContract",
        "terseLabel": "Lessee, Operating Lease, Term of Contract (Year)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r38",
      "r97",
      "r176",
      "r208",
      "r273",
      "r274",
      "r275",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r532",
      "r535",
      "r536",
      "r555",
      "r582",
      "r583"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "us-gaap_Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r26",
      "r97",
      "r208",
      "r555",
      "r584",
      "r628",
      "r646"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "us-gaap_LiabilitiesAndStockholdersEquity",
        "totalLabel": "Total liabilities and shareholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r5",
      "r40",
      "r97",
      "r208",
      "r273",
      "r274",
      "r275",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r532",
      "r535",
      "r536",
      "r555",
      "r582",
      "r583",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "us-gaap_LiabilitiesCurrent",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial and nonfinancial obligations.",
        "label": "us-gaap_LiabilitiesFairValueDisclosure",
        "totalLabel": "Liabilities"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r17",
      "r292",
      "r303",
      "r304",
      "r305",
      "r627",
      "r643"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Total debt"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Debt, current portion",
        "negatedLabel": "Less: current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.",
        "label": "us-gaap_LongTermDebtFairValue",
        "verboseLabel": "Debt"
       }
      }
     },
     "localname": "LongTermDebtFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r104",
      "r272",
      "r296"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 4.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r104",
      "r272",
      "r296"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r104",
      "r272",
      "r296"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r104",
      "r272",
      "r296"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 3.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details": {
       "order": 0.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.",
        "label": "2022 (6 months remaining)"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Total long-term debt",
        "terseLabel": "Debt, long-term"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-Term Debt [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ManufacturingFacilityMember": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure used in the manufacturing of goods.",
        "label": "Manufacturing Facility [Member]"
       }
      }
     },
     "localname": "ManufacturingFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputDiscountRateMember": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using interest rate to determine present value of future cash flows.",
        "label": "Measurement Input, Discount Rate [Member]"
       }
      }
     },
     "localname": "MeasurementInputDiscountRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputPriceVolatilityMember": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns.",
        "label": "Measurement Input, Price Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputPriceVolatilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputRiskFreeInterestRateMember": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss.",
        "label": "Measurement Input, Risk Free Interest Rate [Member]"
       }
      }
     },
     "localname": "MeasurementInputRiskFreeInterestRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of measurement input used to determine value of asset and liability.",
        "label": "Measurement Input Type [Axis]"
       }
      }
     },
     "localname": "MeasurementInputTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input used to determine value of asset and liability.",
        "label": "Measurement Input Type [Domain]"
       }
      }
     },
     "localname": "MeasurementInputTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r369"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.",
        "label": "Money Market Funds [Member]"
       }
      }
     },
     "localname": "MoneyMarketFundsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
        "totalLabel": "Net cash (used in) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r83",
      "r85",
      "r88"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r1",
      "r55",
      "r57",
      "r62",
      "r64",
      "r88",
      "r97",
      "r109",
      "r111",
      "r112",
      "r113",
      "r114",
      "r117",
      "r118",
      "r133",
      "r166",
      "r174",
      "r177",
      "r180",
      "r182",
      "r208",
      "r273",
      "r274",
      "r275",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r540",
      "r555",
      "r633",
      "r649"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 3.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net (loss) income",
        "totalLabel": "Net (loss) income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r111",
      "r112",
      "r113",
      "r114",
      "r119",
      "r120",
      "r134",
      "r137",
      "r166",
      "r174",
      "r177",
      "r180",
      "r182"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Basic",
        "totalLabel": "Net (loss) income allocated to common shareholders"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": {
     "auth_ref": [
      "r121",
      "r128",
      "r129",
      "r130",
      "r131",
      "r134",
      "r137"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.",
        "label": "Diluted",
        "totalLabel": "Diluted (loss) earnings per common share"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "us-gaap_NonoperatingIncomeExpense",
        "totalLabel": "Total other expense, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other expense:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesReceivableNet": {
     "auth_ref": [
      "r188",
      "r217"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease.",
        "label": "us-gaap_NotesReceivableNet",
        "terseLabel": "Financing Receivable, after Allowance for Credit Loss, Total"
       }
      }
     },
     "localname": "NotesReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r166",
      "r174",
      "r177",
      "r180",
      "r182"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "us-gaap_OperatingIncomeLoss",
        "totalLabel": "Operating loss"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r571",
      "r579"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details": {
       "order": 1.0,
       "parentTag": "blfs_OperatingLeaseCostsAndShorttermLeaseCosts",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating lease costs"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r567"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "us-gaap_OperatingLeaseLiability",
        "verboseLabel": "Total present value of operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r567"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Lease liabilities, operating, current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r567"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Lease liabilities, operating, long-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r566"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating lease right-of-use assets, net"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r576",
      "r579"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent",
        "terseLabel": "Weighted average discount rate - operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r575",
      "r579"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1",
        "terseLabel": "Weighted average remaining lease term in years - operating leases (Year)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r529",
      "r530",
      "r533"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.",
        "label": "Foreign currency translation"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Foreign currency translation adjustment, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive (loss) income:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": {
     "auth_ref": [
      "r50",
      "r52",
      "r202"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "Unrealized loss on available-for-sale securities"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r50",
      "r52"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "Unrealized loss on available-for-sale securities, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of other current liabilities.",
        "label": "Other Current Liabilities [Table Text Block]"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherDebtSecuritiesMember": {
     "auth_ref": [
      "r201",
      "r221",
      "r369",
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investments in debt securities classified as other.",
        "label": "Other Debt Obligations [Member]"
       }
      }
     },
     "localname": "OtherDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r39",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details": {
       "order": 0.0,
       "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "us-gaap_OtherLiabilitiesCurrent",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other (expense) income, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "us-gaap_OtherOperatingActivitiesCashFlowStatement",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "us-gaap_PaymentsOfStockIssuanceCosts",
        "negatedLabel": "Fees incurred for registration filings"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r73",
      "r76",
      "r193"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt",
        "negatedLabel": "Investment in available-for-sale securities"
       }
      }
     },
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment",
        "negatedLabel": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "auth_ref": [
      "r344",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r412",
      "r426",
      "r427",
      "r428",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits.",
        "label": "Pension Plan [Member]"
       }
      }
     },
     "localname": "PensionPlansDefinedBenefitMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PolicyTextBlockAbstract",
        "terseLabel": "Accounting Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r19",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r19",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred stock, issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred stock, outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r19",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of June 30, 2022 and December 31, 2021"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.",
        "label": "Proceeds from equipment loans"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r79",
      "r96"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from line of credit"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfMachineryAndEquipment": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from sale of machinery and equipment.",
        "label": "Proceeds from sale of equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfMachineryAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r78",
      "r471"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from exercise of common stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r268",
      "r269",
      "r630"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "us-gaap_ProductWarrantyAccrual",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "ProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualAdditionsFromBusinessAcquisition": {
     "auth_ref": [
      "r267"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from a business acquisition.",
        "label": "Warranty reserve acquired in the acquisition of Global Cooling"
       }
      }
     },
     "localname": "ProductWarrantyAccrualAdditionsFromBusinessAcquisition",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r39",
      "r263",
      "r264"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "us-gaap_ProductWarrantyAccrualClassifiedCurrent",
        "terseLabel": "Warranty liability"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r265"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "us-gaap_ProductWarrantyAccrualPayments",
        "negatedLabel": "Settlements of warranty claims"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r266"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Provision for warranties"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r271"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock": {
     "auth_ref": [
      "r245",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for intangible assets and long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.",
        "label": "Property, Plant, and Equipment and Intangible Assets [Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r9",
      "r248"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "us-gaap_PropertyPlantAndEquipmentGross",
        "verboseLabel": "Property and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r250",
      "r584",
      "r638",
      "r647"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net",
        "verboseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RepaymentsOfDebt": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow during the period from the repayment of aggregate short-term and long-term debt. Excludes payment of capital lease obligations.",
        "label": "us-gaap_RepaymentsOfDebt",
        "negatedLabel": "Payments on equipment loans"
       }
      }
     },
     "localname": "RepaymentsOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r80",
      "r96"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "us-gaap_RepaymentsOfLinesOfCredit",
        "negatedLabel": "Payments on line of credit"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfOtherLongTermDebt": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer.",
        "label": "us-gaap_RepaymentsOfOtherLongTermDebt",
        "negatedLabel": "Payments on financed insurance premium"
       }
      }
     },
     "localname": "RepaymentsOfOtherLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r478",
      "r618",
      "r697"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 6.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashCurrent": {
     "auth_ref": [
      "r7",
      "r94"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r22",
      "r320",
      "r584",
      "r645",
      "r663",
      "r665"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r211",
      "r472",
      "r473",
      "r474",
      "r488",
      "r489",
      "r538",
      "r660",
      "r662"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanNameAxis": {
     "auth_ref": [
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name [Axis]"
       }
      }
     },
     "localname": "RetirementPlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanNameDomain": {
     "auth_ref": [
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name [Domain]"
       }
      }
     },
     "localname": "RetirementPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "auth_ref": [
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r426",
      "r427",
      "r428",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Axis]"
       }
      }
     },
     "localname": "RetirementPlanTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "auth_ref": [
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r426",
      "r427",
      "r428",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Domain]"
       }
      }
     },
     "localname": "RetirementPlanTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r162",
      "r163",
      "r173",
      "r178",
      "r179",
      "r183",
      "r184",
      "r186",
      "r334",
      "r335",
      "r619"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Revenue",
        "terseLabel": "Total revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r332",
      "r333",
      "r337",
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r330"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Service revenue, expected to be recognized in the future"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Service revenue, expected to be recognized in the future, period (Year)"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r574",
      "r579"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Equipment acquired under finance leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r156",
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "auth_ref": [
      "r234"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r506",
      "r507"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r137"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r541",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r234",
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r6",
      "r31",
      "r32",
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "auth_ref": [
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r438",
      "r453",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "auth_ref": [
      "r321",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.",
        "label": "Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "auth_ref": [
      "r153",
      "r156",
      "r157",
      "r158",
      "r552",
      "r554"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]"
       }
      }
     },
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations": {
       "order": 4.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling and marketing expense.",
        "label": "Selling and Marketing Expense [Member]"
       }
      }
     },
     "localname": "SellingAndMarketingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SeriesAPreferredStockMember": {
     "auth_ref": [
      "r18",
      "r19",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Series A preferred stock.",
        "label": "Series A Preferred Stock [Member]"
       }
      }
     },
     "localname": "SeriesAPreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SeriesEPreferredStockMember": {
     "auth_ref": [
      "r18",
      "r19",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Series E preferred stock.",
        "label": "Series E Preferred Stock [Member]"
       }
      }
     },
     "localname": "SeriesEPreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Granted (in shares)",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
        "periodEndLabel": "Non-vested as of June 30, 2022 (in shares)",
        "periodStartLabel": "Outstanding (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
        "periodEndLabel": "Non-vested as of June 30, 2022 (in dollars per share)",
        "periodStartLabel": "Outstanding at beginning of year, grant date fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
        "negatedLabel": "Vested (in shares)",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r455"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Stock options exercisable as of June 30, 2022 (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Options exercisable, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r455"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r470"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
        "periodEndLabel": "Outstanding as of June 30, 2022 (in shares)",
        "periodStartLabel": "Outstanding (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
        "periodEndLabel": "Outstanding as of June 30, 2022 (in dollars per share)",
        "periodStartLabel": "Outstanding, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Exercised, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "us-gaap_SharePrice",
        "verboseLabel": "BioLife stock price (in dollars per share)"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "us-gaap_SharesOutstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "verboseLabel": "BioLife shares outstanding (as of March 19, 2021) (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r572",
      "r579"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details": {
       "order": 0.0,
       "parentTag": "blfs_OperatingLeaseCostsAndShorttermLeaseCosts",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term lease costs"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r18",
      "r19",
      "r20",
      "r95",
      "r97",
      "r122",
      "r127",
      "r132",
      "r135",
      "r137",
      "r145",
      "r146",
      "r147",
      "r208",
      "r273",
      "r277",
      "r278",
      "r279",
      "r282",
      "r283",
      "r310",
      "r311",
      "r314",
      "r315",
      "r317",
      "r555",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r45",
      "r60",
      "r61",
      "r62",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r144",
      "r211",
      "r317",
      "r320",
      "r472",
      "r473",
      "r474",
      "r488",
      "r489",
      "r538",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r580",
      "r660",
      "r661",
      "r662"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r106",
      "r107",
      "r108",
      "r144",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-concentrations-risk-by-geographic-locations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-significant-customers-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-schedule-of-warranty-liability-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-longterm-debt-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-maturities-of-loans-payable-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-summary-of-warrant-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-revenues-by-product-line-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-2-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-summary-of-remaining-performance-obligations-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-restricted-stock-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-compensation-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-consideration-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-pro-forma-information-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes",
      "http://www.biolifesolutions.com/20220630/role/statement-note-16-income-taxes-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-common-share-antidilutive-securities-excluded-from-computation-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-18-commitments-and-contingencies",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-19-employee-benefit-plan-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-contingent-consideration-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-fair-value-of-warrant-liabilities-using-level-3-inputs-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-summary-of-inventories-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-lease-term-and-discount-rate-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-maturities-of-lease-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-assets-held-for-rent-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-schedule-of-property-and-equipment-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-future-amortization-expense-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets-parentheticals",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-cash-flows",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-comprehensive-loss",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r19",
      "r20",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Stock issued in acquisitions (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r19",
      "r20",
      "r317",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.",
        "label": "Stock issued \u2013 on vested RSAs (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r19",
      "r20",
      "r317",
      "r320",
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Stock option exercises (in shares)",
        "negatedLabel": "Exercised (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "auth_ref": [
      "r45",
      "r317",
      "r320"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued pursuant to acquisitions during the period.",
        "label": "Stock issued in acquisitions"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r317",
      "r320"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.",
        "label": "Stock issued \u2013 on vested RSAs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r45",
      "r317",
      "r320"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock option exercises"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r20",
      "r24",
      "r25",
      "r97",
      "r191",
      "r208",
      "r555",
      "r584"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "us-gaap_StockholdersEquity",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total shareholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement--unaudited-condensed-consolidated-statements-of-shareholders-equity",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r585",
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-20-subsequent-events"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_TableTextBlock",
        "terseLabel": "Notes Tables"
       }
      }
     },
     "localname": "TableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-1-organization-and-significant-accounting-policies-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-10-warranty-reserve-liability-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-11-longterm-debt-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-12-warrants-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-13-revenue-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-14-sharebased-compensation-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-4-inventory-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-6-assets-held-for-rent-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-7-property-and-equipment-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-tables",
      "http://www.biolifesolutions.com/20220630/role/statement-note-9-accrued-expenses-and-other-current-liabilities-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "auth_ref": [
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights.",
        "label": "Technology-Based Intangible Assets [Member]"
       }
      }
     },
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-acquired-intangible-assets-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-15-acquisitions-fair-value-of-net-assets-acquired-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-details-textual",
      "http://www.biolifesolutions.com/20220630/role/statement-note-8-goodwill-and-intangible-assets-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r199",
      "r200",
      "r204",
      "r205",
      "r206",
      "r301",
      "r316",
      "r537",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Financial Instruments [Domain]"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": {
     "auth_ref": [
      "r101",
      "r369",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).",
        "label": "US Government Agencies Debt Securities [Member]"
       }
      }
     },
     "localname": "USGovernmentAgenciesDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-2-fair-value-measurement-financial-assets-and-liabilities-on-recurring-basis-details",
      "http://www.biolifesolutions.com/20220630/role/statement-note-3-investments-availableforsale-marketable-securities-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r148",
      "r149",
      "r151",
      "r152",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r573",
      "r579"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable lease costs"
       }
      }
     },
     "localname": "VariableLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-5-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1": {
     "auth_ref": [
      "r317",
      "r319"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in equity for down round feature triggered for warrant classified as equity.",
        "label": "Less: gain related to change in fair value of warrants"
       }
      }
     },
     "localname": "WarrantDownRoundFeatureIncreaseDecreaseInEquityAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r121",
      "r137"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Diluted (in shares)",
        "totalLabel": "Diluted weighted average shares issued and outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares used to compute (loss) earnings per share attributable to common shareholders:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r119",
      "r137"
     ],
     "calculation": {
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details": {
       "order": 0.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.biolifesolutions.com/20220630/role/statement-note-17-net-loss-income-per-common-share-calculation-of-diluted-shares-details",
      "http://www.biolifesolutions.com/20220630/role/statement-unaudited-condensed-consolidated-statements-of-operations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1828-109256"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26626-111562"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL121698322-111563"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27290-111563"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "https://asc.fasb.org/topic&trid=2196928"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "321",
   "URI": "https://asc.fasb.org/topic&trid=75115024"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "https://asc.fasb.org/topic&trid=2196965"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "325",
   "URI": "https://asc.fasb.org/topic&trid=2197064"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267853-210455"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "https://asc.fasb.org/topic&trid=2144416"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2420-110228"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=109262497&loc=d3e20148-110875"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL109261905-112644"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "50",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409733&loc=d3e19512-108361"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20028-108363"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/subtopic&trid=2235116"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5047-113901"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=SL65897772-128472"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "b",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(4)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "https://asc.fasb.org/topic&trid=2303972"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124508989&loc=d3e19393-158473"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r698": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r699": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r700": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r701": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r702": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r703": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r704": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r705": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r706": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r707": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r708": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r709": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r710": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3151-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(12))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>109
<FILENAME>0001437749-22-019625-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-22-019625-xbrl.zip
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
M=MDF4S9MS^2:)6(*JA+O2]"DXZP3<>^)BW63:)?89MM)G%I0,GQ0PI,MRL4
MFA=H7N+X3.( "AI;4XD,FEZ3B0\:8GX:8E5! 9IE1<E]^/X"T#WKIGOFMQ\"
M=,C:$0MTP3H0$72Z0KQ^I1 7=#/QR*9 D!74K5"@*1E&!=X #=2MJA,+U*TZ
M$!'4K:+4K>*)"^J6F&03(,DOES%&[24![1*T2T.8A.0X@()6VE0B@S;;9.*#
M%EQ<(+DJH #MN:+DYJIV&[:/@.X9:N^TL\UW?@,TT"&K3BS0!>M 1-#I"O%L
MED)<T,W$))M8GLWLQAA5M2'J:-'/%]=K/VTKE0U512,F*Z@4$39E&:J?S59_
MG=+W]&?+0=76L4ME!%%\PW5%826-!X$168[SNK;HK+I5)#)22_>NUQ6UU3+W
M!(9HP>[_RN*Q ="J%6V;;EJ#F5L5@%;;<@4K,CV1*VD8@I&6$?&K;G>!#90]
M**IEUH")L5WH#G1/T#W#2_-E?'0GZ) U(Q;H@G4@(NAT!16H+8&XH)N)23:Q
M,HRR'R.4XP"5,AQH66Y$?@,T4"FK3BQ0*>M 1% IBU(IBR<NJ)1BDDTXE3++
M<APA1X%"TGI5DGF:K?YN^_G+.Z0O&PZJMHXM<%9;H>D&M41A)8T'@1%96CY$
M/=%9=:M(9*2*D+!12]16R]P3&*+%9Y14$X\-@%:M:-MTTQK,W*H M-J6*UB1
MZ8E<2<,0C+2,B%]UNPMLH.Q!42VS!DR,G<=I?B)C]]IT7-MC@^$T9I,U9]^^
M6-@4G,)ONQ\8%F&#R(VBY1V0&K+K!"A:U8TE>_#HE6YB4R54;W$\FWVB=LI,
M]V85I6W\<!K+MT#E2O&R9^H^B>\\FRRI,R.8#I><!4W0CXOG%U<6W]GS>PF&
M"XM.HNG:F!DR][KS_?SUG)CJ=(;M[PL=WO*HOG-/5*(_X[$1J+)A3SZ^SHEO
MVGN.2Y5>^\T]P;-?\?\L>W&3L_'(2&QD[IJO#:,@=.(.]SO%S/R:-R*>!.E[
MX=CNZ5OZ!?RY1<6ZBUV_U"SP$/!0!7EHKT5MHQ!N#@JJ<#QT#CQ4 QXZAW4(
M> AX2&@>*G4=VC[2:2<//6"#4!P\$],C-\0%!DK$0*&S!MQ3U1.R4FMQP#W
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
M!9,XX'5MF->U6K()O*Y-D$+@=:VOU[5:\@:\KD5Z7?.70A43'\WDUH7+O'M
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
MS_5'H--2 ;N W2JLK"%Z,6 7L%L5O7];*P3L G:KHN]N57K^_9ZXNLWGY,[
MYC)Q_1,+&!/M@K9@ZV./S1:[WFW+_PK\:9L/+BM<WOF$9K\Y02/GQ*0?!(_F
MA\]# *6=LW&X,RU\.E=^LUWS*HBDS?AD@6WK#- *:!74'@O1:0&M@%9QM=AM
M[P&@%= JJ+\@Q.8"M ):R[:R])=3>RTW"!FZ^?W>,C8QP!YZ;]E/QYUV6SFV
MZ>5C=M\1PK9JQ]\<W'$\P:K;FEB6:UHN.4*N=4\FSB]'$U7M: .E/6D-R6#8
MZHY[<@MW^I-6;](CBHK;_0FFMT^H+>T_H [[G;:LG/30XM. POIX:QB+7QS+
MLU7BT'&R[U."-4X637\^0W]!Z"/[0/]%Z.]_?<'M#_RWS:O!+?[UORPN?IPC
MQWUE Y_0F6Q-\$PW7D__\4BQY: ;\@/=6S-L_N,#O^KH?Y)3N3UW_:_/V-:Q
MZ9Z:ECW#QH<9MI]T\Y1=/CKS7_/Q>)[C.SYB-+7)Y)>CO[J6>A3V#O3W/SS+
M_;#U)O_'#VCU/L1>>'3VR XQ0-8$,1YEN1 ?C_%9,(:IO7C!E+",R5.DS%\^
M(-4R+/L4_;7-__N QEC]_F1;GJFUMB_]T#5WRE[5_HG>9]F4@J?(M$SR 07#
MHDVZJ'V$CL-?*&?_PC;]W_I+EY1:WD!G&J6>TD@@9-0\8KS?PH;^1-M2"=N^
MSG Q/OMV<_UX^0D]/(X>+Q\^'H_/XI"X];(D.%Q[;_#:%3+1XN_01^GX[.'R
MXMO]]>/UY0,:W7Q"E_]W\>OHYO,ENKC]^O7ZX>'Z]J;T+OZ&J;0QGUS+E-"G
M"]1I][HGNSJ5L918 3Z$JNA )NCT8ID.>ZZUS0)%"\3<:7QU>_\5L762CO_&
MF]&%5$4F9EJ21O333Y;JL<6=:0U'*%A7[YEXC;"HC\[D=NO??#U:-7A6,&C*
MF,E=,_AOCVHWQ#9>[\G<LEVZZ+-WN+\<Z?0=5 L]'5N6,<:&8;ECZR7A7--1
M=_JR_&%[OA$E+/KWM]']X^7]E_^B^\N[V_M'=/?M_N';Z.81/=XB*GT>J8A!
MLH)N[Y'<^UE[AVZOT..OEVA-,"V%TNCBD5V63Y1NN5+IRK*1.R7HC\5T(E_W
M0U0E)-IN(-_QNR]]_7&#"*<:.V:2E<[0\.LKP38Q$U+AGYY)D-*6$/OQ+?0;
M#?M'FUH5/$4I>]RW0W'_>#^Z>;CFX#X8]QSK8YNM ;1EX9C 74[N@@N8)>%C
MXNW_4ZND;#!6'_#L\#+=8?8RNM*I74"1Q\SN2#ZXY,8PN]6_,R' V_0GI:_T
MRQ0G(JM>>UH$&P-'P<C1AKT1932<Z]87?4+0@V5P[XPCH6M3?5^R;JZ?_7SY
M@E67(XT9IS9YTATF#^C<.<B9$Y5YK32DFTAW':1.^7+YCL(IMMM%S:L^>T+8
MH*O 6+<,.KWO_S=_HL:ZK6[]<KSHK:8_QZ#QB'DTA !LL3X4E_LF]H>?/R;N
M _ ;;QEDXIZR02Q^L/EL\5^HS"*&X<RQ2HW!7X[:_O<YUK3%=W]>V,>SCW09
MUU[I/S;]JRWZ]DS8<:78"(CB6O.@#]V3]\I/C'Z%L)'/TCN$-3MUW*:Z"G>W
M\</'>1$\^_7"TLA;_<5A=\QMZYFUDUAG_$0,_(/JF)&6TL=C5ZOJ##[BE^O
M<>Z?V+[7VG?2I?\,^L-^?\?D'%.,_45<H%$9S=&#J+9F477-1O_S;-W1=)5K
M;-9D*8P+[)*^#F[>,_L)F_J?_/MJ>1 8?71:K^^IBCZ;&]8KBTX4/XF;X$8W
MUOOMF?.A>1S(PF,NIVNL%>\6"2--L]EV%O^?+[I)Y(3B0%':"F(E+0GZCVX8
MV!_K';:__\"O$GKX=OUXB12YO2TLI%U*>="7"_KQUGZT?B05W>>,F0TC[?NX
M3+BU[^B*09DQLP5EY:M-V[$[B[[9^/_UN;_.)9/5PW9'WM?;E[]N'(QH4S%F
M+,H<!VWYY .]R4%SFQ) GV,#D1>B\C15^@1E:T*5?#H/B$W$3I6Y%MS[<R1$
M&'N,;(+W $6WT]N&Q+MH#'ZQZ+IR-Z4:]5Y:0K?=:<G=]ANV+Q]\C\0@<S8>
M9/(!2=0(8SG3E#L1U?@P'5\"6*7H9V2O=@,,;;\NC:UW=+;*\@[XCMC4!IU[
MMN,QR]2U$+V#KYERY^?Q.\:?S(\U4MW3 EFL,E:3?\/"(K6?QC^W)<3^O%N8
MHBU^YRERJ,VL+7]<Q'B9I;NEN2&FNBUL6N7D?2=;Y6W;4'C473]X3K Z12HK
M-A!IX02='UNN:\UX[_UA;0T\;D"=-M-&%]-@+PW^T(:"N^CSD??D.C4VYB+!
M>9V-+2//6?')7(U9N0G\6>1%G;*M((C*BA]3G8)G)5 2F(&9SQKG]%V3%C^U
M^4U;U-(:B.-7N3/FC)A4P0UW>2+F^Z;DX+MVG%#'=,DL7?P,!TS\P'DXZ?1^
MN7HH:O;V8?WR\'D9,#MC_K?V$!,%>YE"-Z.'3Z,W.0CH L]U:N"@K]1T)*[(
MQGJ^7OC_>8ZK3UYI3ZY-C?DP"!J_(G5*U._LH>]4WA+NKF*JV5I<X6?YG=_U
M*7;01#>H9H<-@][!XKI,X?O#TYFZ1[6\,0ENH T'&I__J*PPGY,?=@V4OS6=
M<8$#IA"RRRS2BC1ZE2Z3[-:Y353"%TVY@WBHWD$_T_8H8I#CT37"F5HLS+&(
MAKI3[&Z/X@?>["KKI_]P,)!W$L*FAG[NK(UV3,%';QK_CXZ%/<3OIT^RK@2-
M\3))O">\I]AQT4G;;T'#K\[[74;XA6?;M D_2LY$BHM=STF(^/^^E<=HD1L2
M)'?>6&@5-2_7FA43WHS.E,0SW74I,J@-I[JV93+!:KPB0H7L*UT%*;BPRAT%
MG["+_1#P%O!7;:S;/?<>O;/;[C%8WY,GST_F10^M1_3S0T?IO ^NN5.=1^OF
M+%J7"?;OH['O=Q4YF"X%C ^<=SMANC8%; 8"U ),"X,IA0=&!FV5(*Q2BY)2
M@V&-D<]FDBOT5Q:P;(5><&@OZ<= ^#%XL=IOV'QE<IJV1N4:&\ 3>K*M'^YT
M<?4]%=N$=RVH6\W41(9?W\&F?HCHH7]9^R M;TQP2V0?%[=R@;VX.Z+'RWMU
MDS-CL!YUQJW.8B5:7W[>-P5]"3)7[ M*G2?+?@W1S?A-G&YJ<%-B->U+.$1V
M28C1]@-+@;$4(2%8W[[I(1+W.R:$/[BHSI5S-MOE LJ??2A?).OBXC'_J>"A
M?+O:%&ZYGL0(1>;H#17E^B1,V> J!L6G:7$-P7-\@4K?Z^>RAF3W49G,WF6\
MLI?_T.FK&1Q,.EZ+0?E9=SC>36RJ.K5T*!>PS 7N97*IC&25,Q"++.E:E%M6
M^1F_"Y6'L"SO7I8=%A=<"I*?*8TU?S]=S*)#YY9J750SVBEX6..%,/.V*B8+
M00]QD#'BFL[(>Z*_(-E/^UX&6:^X=DQ9Z8V!Q[UGO(:-[T&[]5S.E90]CY!#
M[0S"HP+L*$9.-W[7$860JM.>.;\<7=]<;6:LF]Y,L]S@ADVBZP&EAY3H+"(G
M]=L]J:TL4VH6W3RCH&6=6<!Q!>E%J-1A@&9^/X=U'?T@-D'6JNM<45K;55B
M7/#W+OK1A%^.[CZ?_VNYSV]C=]MZD,:GYT:4AOW$$P>WV[OY]G798%@FX<9+
MPF$5%58[\O=C(ME_[7+:UI,7[T:?+UOG]Y>C?[5&5X^7]Z<(&S_PJ[.=?KC1
MC45V8V>O[$8_Q?;-!/SZZ3YT MA,;KPWF+Z-QZ>3%ET5%U<V+CW>7GS1S>^(
MWL)B8>%4TW1G;F Z=[II4-G9&AL4=INLR/NQ? .*V?+Y(Y@6;J(P]O;)Y0?-
M-G]<2H*M>Z-(&R-L))_N$G*H/)U\B-A#NIB@%0@V +%BJ1*8:\>V8;^'Y:0J
MG%_??KF^ND0/MU^^L:T<#Q*ZOKE82\B.[%K6$U76#/ M>_XVNR:-F6_2"3:U
MH<N;3Y>?T#^_W5RN[;QJS&Q0B<<J;W!QY[+(7O Y$(.L9  ^>QR=?[ED&Y8N
M;F\>+V\>'TJ9(#_98I7J\"8+8CM+(O>\C(6L]>,]"RGLVJOUQ-78$DH[9?YR
MU#E"=#GS/\O+WFW'W&:ZIAFK-7F09U;%<K5CA[);K%!'8._IIJ\<4K5NV5%F
M'+0HMIBZ=TI>IOI89XW<42Y"U^_1U?7-Z.;B>O2%RE F5D:/?-\Y7@M(KL]*
MLM'W?EK#P:H%/\X6,=][S.O;EO=H83@\N(F<AY<3;*Y=,D/R^T/HZL]=[K#6
M^3;<"3]]<!>./S+&W%!5J3449+>?4E.*"AVF1'Y 1V??3.QI.G.X4"5,(Z;C
M?^*!<.XGO%KZ37B*[LS7T]@+SC+@B(B-4'BA&U/Y'5@>8=-PIOA= &XJ?GBY
M UY=X%%=@^.8FOQ34B#^%U!/WN)B;O=][AP;E-$(>I@2XCILOR*UC#8VT?.
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
M."PRX_@8NC:I,>R9[NTDXI$O.A[KANZ^RFG$"'+HE--/S$!6RCG'(N)XLW?
M#J(=V->5L]A\)C W\%H[1:2?IS_>'#A!D(4AB]UR K/":F'H2?V34CPTL#"(
MQ0YQW)#%!C^!N8%96YTB[/KT"P/$%#9-L$>+54!^>_ KF%J"BI L-B1R=\K(
MU(*]%BD]*W)?&A2RY($:6'709K'1,1/0*CUIT"MB_QE@MNJ8S6+_9#:"MM^6
M^MTB#C0!T%8<M)TL]F5F MH>*PG>"%.@-M&8VZ418%@.& "BNM0Z66SM7-+Z
MVE2M&?E""7Z8^VO0ESK]4C)'P/]5(>QFL7\T<^QVI5X/7+< W7CH9K%;-7/H
M#A5I"&$'P.X.[&:Q)39S[/:DGB(L=/./$T3 "GXN[F>P +<L0'=*[$4(Z#36
M LQ6AD-KT!JT!JV5VQKD!KRIDD%LXKB+%4%")H':POMM HA5R\/2@?;UY"V(
MY&OE@<_^QC*7*1TWQ#U,3R^I7&>%+$FA01:6,+*ORRU_D,F=DG;I ,RR@5E8
MBL>^[K$"8#8HJ>X/P"P;F(5E9>SKR2H 9DH1Z1J[8 ;NC3#WQL^!-OL.Z9S^
MH-5FRZ)*6 [*WO%I1JIUEMS@U0.W\)54X "6@"PVG2MAZ0][AY!3P4OX,I\
MJK2@"LM+V#NXF[',ZK(<>ZA'7 ELQ2Z(89D#>T=?<UP01;"\P?>:K#3&#\PV
M];G(6&S4RT=SC0B10R;&8?G92E@BQKZZ\14%Q'\8'D;:_SS'9=L[;R>_^;C8
MMT3Y2@B4HL04##, =2Z@#MOCOZ]&#J &4 L%ZHC8W%X6 8 :0"U4(J@2$0S<
MRQ1)A>KX'8[E!/\*S .MC0\]J!>QGBA810=Z@U@^(C"[E\F1D^-!$9;M ;V"
MH#<BWKN7;9&7VTS<50O@*P9\NQ&QT+VLB)S@6\X)6(#>"J$W(M2ZE[605Q"_
MD"H^L'4,?H:M8TGL0K8=%(T)9602Y%4A%[_07TPRT:MF'8H<3>Y&I"KLN6E@
ML87WRK9F?BU0CXJU8(^O93KGG)3^?8_XA3B7+ZZ-Z:*BF]A^O7;)S*&2G77$
MM@R#RW8_J?+P,B(GD*);:8!&I#OLN>% 4(!VI?Z@I)-K )_9X#,B!K_G3@5!
M\3E4I)->$;7Y :"Y 30BGK[G'@=! =J3!B== ? )"6?;FWTKKK37RR\3)Q^R
MV38<\'W@C3GW:7Y@/$<:*%!<&2"\&\+9;$K. <)R1^KUBM@@!!BN.H:SV?&<
M X:[DJ+ \5P X=T0SF8W=3/%,$0 -@V(&^*BGUGE\,7&ZJK9#^E9[&^"BX X
M;T,OB^W:E/:9%1)GG%^*@Z &J0GUA7 <@K/8$7XP@L\&TK"0R$!MM:[Z@C=6
M_F:Q]?Q ]';7Y>^)1/L%\A<@G%C^9K&__7#YVY<&A02^2K<8(#%,Y)_!+-QA
M%B+LNK8^]EP\-@AR+2H[9C,J49PIMLG4,J@X<J#V.+0&K4%KS6D-TA$VEXUS
M[.AJY3V(I>GU.VS.L RC@WQ^HV>L&VQ!?[0N^'+^X%KJ]V UY[2LJE>PX@9H
MB0B, V!8"LM!+KM\ '@VD/K]DLJC5=]_)ZKT"TL^.<CCE@?XQ/#)@?3+0_J%
M98X<Y##+2?KUI5ZWI,TXX%C9I2%_T@W/)5K%=&21$^][8>DP^:G% 0%!,6X
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
MV(!JJ"'54'G%4WY6[Q^>[KXNBZ&^^;WFM5 ?UHXK9L.@Q.JTY9,/M"5TR:=
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
MC'?@]KN2K)18N!Q F R$F50>3.B_!=D'L M@ETDP*X6K-FL(QAJ&0[G@HSX
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
M!](]UXH4^,?F*!\0Q=(S<>@2B.X?1N!_W9O[3O8-YHGL?[VG2+!UU0U:'/W
MMG9#W-O)E65/B.YZ]!YPQ]8/PPEW:XGOCMT+P* !U06_^\; "O#.'B)*XYVU
MW<Y 4N2"RX,!*O='Y;Y!KKR=M2 <&PG#3$)7.;EM 9*-A&0F8:P"W+< ST;"
M,Y- 5];>7,!B([&8+-(%L(*T6O[6"TH.@SC.*J4661,T.)'D=AM1VMJT3?#R
M[L^&^P;X2O+RCHV)$^^76 #D-Q\+BW@.N'5K"-I]M\F5XM:-@RQ?H78B5OQ5
M"0";!+"#=B8;XQ+[<;,7EO&.VT%;:BM0#U9X%.X;#3O$;PO2#W"WP%TF4:P4
MCMK,,1A?]DTZ:4.RM_!@S"1X=:"+%H0CX'&!QTRB6/OX9 %\ +X%^)+%JV!U
M;7R.[95E$SI0I'JV34SU%;F4I(Z!H:PJ%#BL%E6BI:%<J;*J47IGP*D7 :,^
M,C[UQSHRM<<5UZYJU_"HV"-^N;-L?L%U;7WLN7ALD$?K#M-F7%CZJPEV$$$B
M4B5&!)518Q4D"6#V$,R677 5\ OX/02_(A5=%0++L8:X H 6'-"=TLJP"H%>
MD,25!6X6-5F%P*"H$K3I6:24I-0&9G#(UFF)YICJK^;3\G7R_"5[EJ7DL35B
MK[\$.9:A:YPZ;0FQ/^]*XNS$G2O3*9'-#)9%N<8B)F;)J%3!52I^_,7HB^6(
M'4ZM-F ;RR@@6BOVWM(1$R-:RZC)"A(2\%X6WLLN PO8!^R7A7V1ZLX"'P ?
ME,4'I=6[303Z^!JDTJ!7:!72:J,0T/\6_5D4W*TBD'=[;YN>_WN.#6RJ1$+_
M]$R"% HFAH><G>A*$4YT^A*D6=[8("*R<73O8OA8V0H ZR)5<EC6;N$;D6\]
MUW&QR<@N=J&&C&!3&EZ+G8._59%K9+&X)JK>T=0RZ%@=O\E*F4<-X)D&+"Z=
M)&R242'BI&O$CL+";:G7;TN#3J$U*JH.0E@Q=K*"D@LK'"3XXX^&+G0')3!
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
M@F !$',A-O^$']B%G!V.3MA]>CH#8N.FZ7JJ/=)4=SPR[5?WA'B&A^^T_+7
M!=P)"WYNV%^,$24/MNFS@VL4 C88B#48M22S>U<PS\4Q@Q/,E%SC5-^?1.Y
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
M)PXQI]-,]8B(&_"5[\,9D(=:RBW_'[^#N:3MM+$MV^.7"B+@WANLC6'QI*S
M43:R;0]#X4RC,FV7N8:$)<-(%-(A< -NA@=WS/8Q+NAU89C]V[=XX"9TQPWG
M0[\S(%.M5S.6<+NA3$D5^!/[W8KV,K28)Y?3>!T2_R'L+KYZCK"Y,.F-S*CJ
M8!]G>&S*0.22:NQ<>=)J* 33[+A33(J43"*%+;@PV=TEY93'43QT;MJ@)-5
MC\%(F?\$&K !+XM*\\/PSX?OY#'PX++O%N.?[(I *LPK$0$C:50=^L\P8X*Y
MV8 P$":,J$,'$*ZMQ%IU&R$;ZN& J NX&30ZD(C<1_P@(AKA6UV</ZS]3M]
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
MKH%7XI-%PT&C[ QNU60G*#-M&K_%Y7%A6?!GI,+$!HL +!\/2/ W_BA&L)]
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
M5Y8!TG)G2N2)D@P@&6 W#)"6*G,DZ"VU)B.=5S*ANB!1D)8L5 6[*"%K26Z
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
M>X&9#K<C]AL;XP%6!';TQM#2A\VX>]-E*>>"N<S\BR_+/5^3R\B28*"#Q3E
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
M--7;K+:N3B@!XV]2IM!JY!J$!T$0[V#?5(D=*/5^(4KL!L4,$MLEQW8SUP2
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
ME:-''\7=IH@=."F3/5K/H#T0<#/0)P/3=F\HVDQ9R^H#I21H@;O%C8+QP7_
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
M"F]]D]FUX=TWH$_#]^T:?5I:GGQK^C1\<[#1IU6<&1@%%^/T$-Q_OOA7>/_
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
M(W<_.\YUDLRO!@6!R%:@O^A"[UTB6 H%U8NR<-Q714<6MEX):D!D#O]S<&+
M\:A!?"$R#5V"DHE<Z%[ 901@$'-/D  /QEX&;3>R!8)UG<>=\<T]A5M]_KPL
M8S+^:/JB8AY&4G3<?8LCFPP:;"[,R^4+OQ5 4[\K \9$=VV2Z5H0US:I1#:Y
MX\=--' K B.OP4.TF&N!X1.UQ^!M,N,')] =FI:^:-D4#]0D%G=$R(ON=T;,
MC0G&TW2B+10!QQ[BT<YGUXHY!EFEV2F?RQ& /'4LHL>A:.^8YQ5(+08@6FD"
M)9A=>=A:$'P9__D)(_/07.7D\4*8/%XF2CPZBHBGGHZ[WJC78>KP=^63\ 4H
M3#!1"=I@@ODK=T$=VE/O#[\ :X-KJ*+J%(!OF'ZBPM:R]!;]$+;*U%UQT@8\
MS642YTB_NT:5@\M#^ #$Y%[S3#>VG6<TT*!OX *4V2A+3.&93<^E<>Z!#LW;
MDFS*V29C;+R6;IN>P7#DPP<]_(XG+GG<Z.3('1?633-Z"?.M?".BH1OZ"_AO
M>]S8;9D^%VXU=SX#LS7 '3LW%IUD7XP&0C&/U4&";;)0!1^";%E1KEK04;99
M;D_U\ BGH"07BK4''=NUF9X*>5HJ)DL7.U'CW(!%UAQ@9.=(SZZ"/ZT85+L1
MS;0-'KF;]@*L*G6PG!6<R0B-9VUHOM67CD.I .<7K3 H=YTZ8O"1)F2=W18X
MA%B.;X*K#FQ)LZ!!1.I$660GET9#!39] ZC"W%]V1XBR8$E-YP8[Q$6-DL@5
MP[T3MEL48#P'AA\7U)?Q941_8Y*_1/AMZK*B88.UW5UMGBKE 15EKZ  ^BRG
M(P"^,'5;9$P,GMAI0"^,42GPMQ?04<?0L2<^T^#MQ5VOIF2.#T/MD:=E1,\J
MNSZ+R5T3T]0-EKAWN7WW5>G+[3P>Q1F&>,_DPL4U%_-?M6?5IQ;<^\M3.B*
M:H] TF$.TLIW?&P&?!OJ+A^INMX %W^G#@7Z,$F\%\9=IN7.^&'V@;Q06X?;
M"2R^]?,.WZ+#C6&;:E@OBQ*W^ )QV)-Q7= )U)G?^EV3[;F"&0?@OCDH0O;)
M2Q1=\+3JXY*@*4)A>^,$/R3\W-(0S@8W)NZ"(P:$OVVXZX(J"IFF3<V6M5G3
M9 @751:7LO"&'!8%[[BGJ!^]73\/7MRGI-S-)GW-W%Q'I^+/A.RU8$XB'@):
MYS'HS:F)9:$-J%FLFV"YKF=;QL)&@LE?C7(K1E,;MCFW\P)4=IPM-TR *J0
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
MO)<WM.@QM/:NW=FNO8NKY#PN:/55$\44LDH]IWAU"C'K]!-]D1:KX9SY7E;
M PHA>=:KDZ":'Y=,<:/Z%RQ9Q0UGNBBF!305]#4M8L9J:G=?N]9+$FQP4$Q!
M%DQ[!<=LL"+7W+M4 BK)%\7:H(ZE%;V)JZM%@7(HHE3A>:8E6[:9[*YPF&W!
M":Q,\<"J[@_%5'4?K:\>9TLRMU705IY6\NNM1UR@.[8^$TZ5Z')A!*(*45E.
MO;!7J+M3P[M3XWN2TF+^> (O&^9_"4F*1IUCA6QJ@/*\G%M;-*A78?&C\E/X
MJF,M)M86D_ENX5!.J\J<JH9;ZEB)%M#J>7#4_IJTM\5F;[/@D5I;LUC^:LB:
M.5G_M.;GPN3E^9QW!UP[G6CWX)^1:JF3I"6O&;P#]^J&[>+Z:.YV?/\I@:-H
M.S#\@9VE\63+)IM7S)4[IQ]4,)+"-INDEM1I=:6_)J^R,7_:K%DR[WJU5O4-
M(;Y@9">C1Q7J3G03&M-,#$/6GNGTRHO-3C*&WII'/#ZF@!B+WI#G_]H)\W^W
MWV[./@TZ/;'?C=@ZS93B>[*!%>';Z'1TV9BX$U;PG9Z)OS]>W1,C;U;^D[!Q
MK1-0_/(S<6P4-5'I&+QS+D5 F17!W5D9NNU2HRS\IF*,FT/B>>5,6!I,TP*4
M1.+'?!>G3,)&]X3 ^F9E'/&$6].TR?S*-MB.EZ+/663BS_NYW)-..4A]L'Y1
M('$YZX<([_A](P)E!/@==3IY2< QEM7<8UH=^3!O-29"V1M8Z7P<T9R1+:NE
M@ 0N?WA9GI!R*[E8<5L<#:E7+DV4!OIOU(DK.:E7>-H;ML5V)P)A/U_]D@!"
ML"K"<30T9F4E):ZQ[$W%P!%E7J41H5,$QE$"5N7O&]=FIXDI4#?#\?9HC4<=
M')VB'9AX==LOOV-R[3%$11R3FOH@I<V;QS70ELIG\+%R=7V&%.Z!4S+."_A*
M@]P-MR8_*72P\VASY<4I%[S_?//T$%MXX*L?]*K_?%=8+EJ&_NJ9YJW?L$Q1
MN/_\[?O7_>4-B0L3_8Y #,2SQ#".76(Y1>M;?P0^+UU7Y7[R^;IU\7 ]^5=K
M<O-T_?!!D-57>6,Z,0!Z !H)+-!'84DY_H/001^3>S*_M.E_84X._^D,*Q]"
M://'53AMD"VSH<S3W>471?OAWF6NF&M5WN RXF3>UA0+5H/:CM[<3P%96!JH
M4WX!?7,6X.E7OAH*J!T%?25&9CQB^TO7K=HZ-HHE8G"81<8O(E8P*PNLKJ9^
M%CA9"-N-Z<G??Y,/8@LJOP$A\DN5(W [QYR\C/S/ /H\*]4.M!D@0KIF!J#H
M>9DW+^]V"[L7PMZ&+6G0&9Y]^H<8.F_70OAQ"FP>7W]N ;MP^'&L.H\YTE1^
MLN,8@"C"W)/8$X)NM%?9_C\Q(RNZ89M((3-14QG9;>,Z44&@<.G#K>PUHT_*
MH@FQ'0*B(NQ]_[ MA) 9@:5_?ZD?O@#EXDJ)-UQX4.KJYER8'-8\P:\!KV00
MX14BR%@"9QO_A% UPS33K68!M4QE]F\<-.$RPN  **'^^>[.CP"Z5^53)^3G
M9X,\ Q/"\O*;>6,M ATMP ?^2#U!1\RY<+MU3<5DB/YT#.+:();\<^>^V+0C
M@S4&2P($FWW$=,*2M("_R(9]-__HJN9WRCDY%^E%Y\IB 1R @S:FQ'HEA$T/
MX+,^V)GCCZ: #7;X0NQ1U^A^XP@!/!;< 4NP#)F^\%S>.*,]Z& (IRG('0]
M3Q6%E:U:REI5O"$<&@U::=L0W0U_SR8_O.JV.A>6\@L^(#P=6">BO'BG\>ZE
MI:[2(05+>4[78>MK;W($G*,8GI'2#A@BP23F:8G-573,!?A/<*O9$GG4&ZM
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
M^U31J'*_4LR9JN.0O7"<RV$HSN7IL5<1RB,:NU3JLXEEPF3VMZV8=&"&^39
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
M-0AD+?V94/!>>KY./Z9ZE5V)>?)=QO?X]$;X.T=UHC+-I!5BE!?EA?H</B7
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
M!Q(%\;+7>UH0K5=8X$UKH=L&4V;O$HR$.$YIQ4>B[/68%+(:E;. 'AV$CG$
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
M>VDXUOB-8XR?-]NA-M:O/F4G#1A:'A:O0R>3-V!HR<U<V<#0ZL3[;\O.[<K
M4<8-1%F*,V[]VAFW^H1V#7[?"0Q=(7#C#7Y?8_$:BY= &(ZU?=T8V]>KG>FK
M3UQ71^S)NC48Q%G5S+"T&R3+4B!9AE4O-(8Y#\,<783[[;<)+;HM%WF;L"VD
MF^1)MV1U3PUITU!2L&%+UU "QBVKFI@B8CUV,.V;>UK*6GJP5HP .VVQ%PJ
M5+8VD_^?O3?M;MM(&H7_"HZ3W&N?%U2XB%ILC\^19=GQ$V^1Y)GW?KJG"33%
MCD" P2**\^MO574WT"!!BMI(D.R<R40D@5YJ[^I::A3<"[2E1UP I4>3OR3B
M^<I$KX'TR8*%/ &.%NW9YO]4)RH8Z8AF\L^0IX/(Q^@?X&U,0* T#^!<+\.D
M#TKMR%,;6#B1J@8>")T>=WIQQ/Q@(F/R07C VZ"5HD6)/U'(9=H0C+?@L70
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
M*.N9)/:!V]V?[7U0+XF]BMN?>21GOU_?]_8,6Y$N^8&'T5"$-A-R,T:U +4
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
M:JBS^SE66IR\<HT.PS<\2'3**2UF6F'*<AY246:)G+X7C5!8!CCI(/*Q^!5
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
M]JLS75[9@)F'I713$CY6]^TS$3LW+,BHZ+#L7W!%ETU1F A?U<G>"M-F:UM
MOVR[G8,5GS'GE%C8>,F]M432<@];SZL)=JM/^-82RLM]MWFXXERA;94FM<$^
M*HG.RNWXS3<$M]V))8O<5Q7\WP:#[TXAN!U]GENM _?P^'G=9;O5Z'E7**?3
M=0^?.2_8$LXV$LY1RVUVGK>RPVX13HTLQ7:[+H;BTP=PU;BUO"]N=&N='Y_>
M_UG=5F>69=4W1 GTE>Z64QKOX^7YPMJCQB3:R#4'&/0;<30NS-_R3]0.]<>G
M;S^_WEW?=,9PU30TC>L7[^1<CM/IZFE_AWESO.5_FW\.<D/_Q\FGL\;[\[.3
M/QLG'R_/SE\[+!BS2:*%'%K*(2_M_(TSX!*,;90UZASP2Y/^J3HBJ)]>.+]7
MP?R/#]4P1^0]!<0OOY]^$>%U/H<ODE'  )0BQ$9GC5X0>==E>4%3YX,Z;YDS
MB'G_7R]^22/O18G*QPH2(A2IP/.$Q!X^,?UE?O28>G8>IA=("U>2@8ME144?
MSR?4G"KJ.Z<P M 1'$S8NV7)P?BK^IPUP\-3\\^378KUIB%K6VL]A^I[^H%W
MH;76A;BUC;46#KQ];4%LCY9: :N.[5AV0=;6M?:];:RUXR+!-M;:,@RM4Y+;
MQEKWTS^V]XIMK+6+*+>-M78+Y;:QUDZBW3;6VKS@&]M8JQ:WWB_>=9NV8\^V
MX12;I35M8ZWMPNF^VWWFJ).MQ6F- DQ6W\-PXY/IMSTAS7;66EUTE]NU/9DV
M'HVMEGM\:,V;C4=CT^W:(@D;C\:C+<ZQMYE5MK=6/;D.A&>G:4V934=CUVT=
M6$MF"[!H6Z1M/!9;JZ^_O?&6S+;[9FQWK54URVXW5]ZCMRX0WAHL=MUFQ^K!
M3<=BVVT=KCP+MBX0WAHL[MO^6M8M8_MKK9D+;5N?K4"C[:^UZ1BTC+@5:+3]
MM:R;QO;76O<I_[!M^U-L.A;;[E'+8G'SL7C<LE;-IF.QU;3.&NNLL2VV5LMT
M-GIFXU'HM@]M?\E-Q^)+0&-WY::H[:_PA!@\7OG=_>:W5]AVGXSML[55G7&Z
M[L$SMUG8F<XX6TLDH,C;JRV,;_ML;22AO#QPC]NV:]_6V8'=@Y7;\9MO"&Z[
M)\OVV=J"IC>M ZP3]+QAH;O5]697**?;<;M'MEV2)9Q[BYSFH=M\YM[.NT4Y
M-3(5V[N:;/?V7IVV'A=F]G>6I*(_,>+,'/WOT73,V=PE/ E\3'K2JYH"VEMQ
MSZ*0XMWBA3]YE[)5D8\&@]JI(T(OYBSAOO/KX=Z! ],&>"N,0/FUO;_7S;_I
M1[&3#CC\&W,N@29NG6%$K7 XML)Q=",&!RMBNPZ\L-_ZC1X]WO\- 9Z,N(>U
MIX*)ZWC1<,1B>"N-:-R$#3G6-!>1CWY=K+#L.CZL<!0+V * 0S_)BMOK!+?R
M*8AZ< @XC:( CP XWP601!3N.9]A)R"$Z:*[XFV7OCG%E803.CO$@H<>+&H
M<HGCAEE(WWLI?#EF<0R@G>A3AJI"D<);,#]=I.\Y_^'J!7PYI6\-LLOA/F03
MIQ_ -QF\3X[L+,UB[OR3L1@&3.! ATB!=:LW<0LW49 -L8U6S,;%Q+B*%!:6
MC*(X9<6E/L 8N"$:PCZ&XE82NEX&?+&WE11>*0UFR3[D]%$8L9U&5"<\%K!4
MTB;1"]$I]P8A'*VO)D (B7-P*$G[X!C^FSC,J,=O3G1_MBFS"4VAN*A[^)13
MM<I3[3F7@T(<($5Z3PHS@0N'";- C:+ECAH^<?IQ-'2":(ST2AC-J17;[B7%
MJ$H\; \!+Z?!YM?R,]P>6Z2XEH#* I"\A'6VFRWOS:?_Q8:C-R?RH__F52Z]
MZ880Y*2A85!0@_"-PI '#4W02IB&4=CP6#* _4;>=4/*9ST6\M[4 O*!I)K@
MPQZ*=9@!>;07L=C'#SY0M)=&,4P U-[G20*\!#OJ<VJ7F&%Y "1]+\KH:I,&
M"_B5MER\* :Q+W5(DH$6\/A.\87";LX!]Q:XI@6TO]<N6T"M9F$3D4'3/9:B
M^.AHOD$S%NE@GDDS)65CW@]@A$1:)DF2#4<D2]&JF=Z8(5^C++[+"H+Y_FK3
ME,H8HF\Z2O 7>QYPYA-MT;8J:1PW!DN04EXMQS5)4M(JOI_3H'YNIVBQ,/VF
MD(<XF\8Y BXE6NC'#(0&FH(Q5SR-4LG =Y*-T+;3KP283AL7=BDE_( 00YD&
M<^!7K*QMD6"NXFB<(F916EQ-]I:!W';A!W1H1?6X>RC/55FK=0+: H@5.O:"
MZ/UKH6.K=6O"@'2%&BY*\83U('7KTOA V[ 8%\\^/@C;031.Z .(8Q>G@GE
M= T%J50EH)A/%V@)O+A3HDDAJ&2O/%1+MO<Z92W9W6N5E.1A6RI);*O\%%I2
MF&2$+H%[J\#")S!'#2XT[J1FTX]6*61)=?HD[G,BQCL(;!>%2:$AIPG2T) N
M:J\Q/4ER C MK60GX0%AEO>!?M%JRE6C-*KC"& ?EXZ-0!=]H*WP*E'JD P6
M/&G.4! 17^N8"+XIQ<4ZCIFE7O?O_ZSN53Y[]:&^B65[>?A*MR OC??Q\GQA
M2R=C$ATL8 XPZ#? BBC"",H_8==UY\>G;S^_WMTV:H:<EJ'$%^_DO([3.=!+
MN*M9O?-VD =/_#CY=-9X?WYV\F?CY./EV?EKAP5C-DGTQ1'2<LA+4'@#%K($
M:1NO;U1LQ2]-^J<J[$+]],+YO0K^?WRHAC\B\BF@?_G]](L(K_,Y?)&, @9@
M%2%R0Z,7@'@KLRI-G0_JO&4.Z(3^OU[\ I+P18GBQPH2<,I-!7*\Q"0^,?UE
M+ARFGGT UEV'OG;122_Z&/.!]QHH[T]A!* I,-S8NV7)P?BK6A+.\//4_/.N
M@RID,$*V7O(7+.!Y50=WUH<T%R"Y=7M.NNK#7 _2*HQ<' SVPF-T#FD%9ZY6
M76%9JZ,"PQ)_3V+\=HXZ+HAW=4%6^(O(\&UUI.&[WZFSW;M3!Y_"XD3(35."
MZ9>11J?,()&PE@:HJ]E,,B'H1C0K$8/EZXDQG[JA6+\IN6Y=LU11N%W3-J@
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
MQC+K#+-6 0;X#,@/?O^U?;C7>6J&K9P1&?9H[R"?"Q._'LVME3,AMY9Y- &
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
M4&,(<J5^C:.2YA0?3^%)X5WM.R$\B R7Y-HZE_ZYF4XL%('%,W&2W(1&MR_
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
M/<B4SY0W%=A6JXQF[^AT2!WWHL:4(B-SY!^W19S_-!1H?2A197WI(5N.1K^
M8:>2ZO,+*5[@$><8E3B!>P&6?*GZRI=_R4U&>PBB8"XS#B]9_B)HOG HW5PB
M8TVB*[\?<P\1N*^ZWYS'D%_\D87Q0Z97#_=4+:S1??E3!#C,<O#\^E'1@\E5
M+73/X^M/F''YDTC:DN*U7/8(OJGJ;*J'\L_@"M]$DJEJS.WF<S2?AT2ZDC//
M2[]JJCPEGPP=& U];=A 86W#T)IZ9-;/4H._"*ILN9/YI?!53>J,]\92IWQ%
M!$7-DET%IF#^)I1A?:FV(5VBZN&K,V)O(+J995_[A7.*&BEM</F8P:$%MN0H
M)VM;DV%F3Q_M*]1O%8Z%=TD?2)!H]PH'N_3[3MY%1CV!>!9#@5+&<VS.L$A@
MU7W9$]R6RQ;!.44:G?G#P% 1R*U;+3N4Q@-B\5,#"OJ&UK:X"BQD^B=;+5V6
MU@.46$<WPFSL^XM#_HF0(TZ@#\,(D3UY)2&7K6Y8:B$SZ]VA^T4T-\<\%VM-
MN"Y#.H65C=H?,8U]#)/&^;IA#C01#Q[ZOYEQ*"M3_Z*X4D+H7%X;K4<M*) ^
MG[=X__<CNQM\/]!&R=8:!S1-(K2M04OJ#"=%3TX>M_8F*_3)X 1#EB-G[.=1
ML1,T<&4/=G["YX1N7.'<1301.,TE(G#+>R.WKRJ5L+E^NWB?_\@B!1?4AF2-
MX+)*HK>GF[XC[Y-VT:(Z6(-N5X\?S3,]0-V :]GFAC8K]XX,/4A0X8@7/FD!
M\'JGZC7W'4DJKSP.NI8(/6(V.WXGLZ#S-53I?-MH[KBR@%3ERSZ!2X)#D?IE
M[!FJZ#+JZCMCZR?SW,A6Y>3*(T*Z[^V*K^?B>CY-7_% [^31-E4>X!&X4$*M
M(3ZCP>4+=/MZ&&GAO_T-><)6U17FA:$O1'O36S;&E(AOYH(5HYY*9B52J0LG
M8J!62Q&@._9LLB>:6@.!:IRZE>XNNO L:X?/%R_ [H;2RXQ&RD#=4(=T""3A
MD^$O/>\1%C@H5(\SG-_09A6KYK'(3N[&1N7VB.#=4)74#^2( /.=++$LJG3?
MB$>:(H]:/D\:2,@<6I1V%#07(Y2Y^2UJ=BYF=?'FG"<"/J<@+R.5RN\=S316
M82KT;]EP>,".!3H91+N&=FQ [77=AWW>9'AUG&&YT1L$2V/):_T(U]2@#+L6
MW:,T:'U3D7Z=Y%=4 N<#>]A0/<O^@>'VX<MVY\EP=2]J=!80NY\QZOBYZ7L
MEY_ IP=J;6_KTV>BC?<4H86&V(?ZCS5QS/.&TK[QGO 8)>J"8/&ZO5X[7! F
MU"*WK?4KBO'53GE8OS+8XO:ZT_H@8P?WDQ"&:Q97L&ND-39>E<O!/?^68;AJ
M4(MV\L6T\[!$@M,-JJT6AD.!"!!)7OF3>JGJ;GHW7FJH7#8E)DL\IM!K?^R&
MNKGN*W:XROC.X9B9>LHS" /V6'W5]K">" RLC>'EL!:M=O)8BEF>JII:ZV@=
M<>Y%4<;]1[0GZ,<H]I6SP<NM#)2(%!W<2/C;U1"UWJK$F#6/;0F638_R99,P
M#9S! C>XW7"!",0Z5;Z[]"D4\50L53<">P,!5\5N:M/DN;Q:19T.8RC=4H"
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
M]$RT+!32P[H_DS]S"*0Y02Q1&O6;QL2-$>SKBG!C.O@>>E$04$\^:/$KE=]
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
MDH]#A'^P85]*O:+%B4P7BWP#,MBKF_ZAX(O!,/)!%A, TF+8V>MGV##"9L?
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
M\CNUVIC<W'K&X&DRP=5GS0 GF4 :F(Q,5DPW(;0F;(#K_2Z2@W6PZ0H03#G
M.KALG306*;^CXC30VIAR>RVG$,_M5"=W=IK,8J[KL,&D'C4!=3;74,UB^]%@
MX H,+G+U33":.P4PF4-&4$W.AI@2>%PXW[@)3]&M>,<<:O608%H]U8XS[I9Y
M*&^FZK!%NP -VI0#O_P:6R\JH>W_!8ZUC\*<@M!&M:-4A(K7#>^_:O@@-MC:
MXYL;O]JM7/-NYRL0<^PQS@N'^NL',/0DV+LL*[J6_54(JZT]V#)%PSX,!=^^
MQH*2B/V7!K_Q2!T$2F7;MMG1$P&'_?CQ(E5W@/(+:9:<Z^MQ6%VQ[5OZ]94X
M-D3E8M-@.L3TQ)Y^=\9H&>YGWWLQ33(][+$,F >&J-+2"^"B5'5.O1(M2H,'
M#$97>EU]:7M;L_?GNL^-'PA"I\3YKW&@ A!LIAYS240,ZTZJ53F),N%+@P=^
M2T3"?+;,SE2[M?J)2.;#P4)==Z>!5K5[EX\TT;X#,6?CBYJF"2R%6&WZ(1C2
M\)AQF7"1KUZW:\3LH3TP:,/^7,QO*V&JJ.7!BVGU.[A_*9^B@43GF33*F"8G
M23X%ZG[= S\G4534@ %EWI)?V,.(^#BP6TI%Z:MR,*4+([0&_G98;*9R>Q44
M%E;.:56U: [&%A6YH-3!H3\*4J2%_.N,=6\<IV@+47#!G^([GL;!%25)FKDX
M]XJOJ3O.R3J/7]:EV7<;S"WN["Q#@\F*"O)(OZ2+&173L)B*7'+4&Q,=1\&
M]("XIGUK-09.QX*M"'I]SH8.2-V?'C"Y(<9F7.LI VU4S4C-]< NFQ,(WN";
M%?<,CCBO<X]5 ._3WL"4]MD+4WK03B[DAJWIQ'NQ2C#IZ1XXT??1%Y.D<,4>
M'1>)1BR@^$+]-P->PR?_ U!+ P04    " #Z@PE5(OERTT1G  #1.PD %0
M &)L9G,M,C R,C V,S!?9&5F+GAM;.V]:W/CMK(H^OU6G?^0F_N9*YG)>]=>
MYY3LL2>N/3/RM9WD[/-E%4U"$E<H0@%)SRB__@ D];!,  T2!)LRJM;*R!(>
MW8T&T&_\Y__ZLDZ_>B(L3VCVSZ_?_./;K[\B643C)%O^\^O?[H/9_>7-S==?
MY468Q6%*,_+/KS/Z]?_ZG__C__G/_S<(WI.,L+ @\5>/VZ\>5F46$_:.KLE7
M__OB[L-7P5???O<?;[^;??SJMX?+K]Y^^_9M\.W/P;>_!,'__,\TR?[\#_&?
MQS G7W$@LKSZ\Y]?KXIB\Q_??//Y\^=_?'EDZ3\H6W[S]MMOO_MFU_KKIKGX
M-2[V'8X;__!-_>.^Z8NA/W]7M7WSRR^_?%/]NF^:)VT-^:!OOOG?'S_<1RNR
M#H,D$Q2)!"QY\A]Y]>4'&H5%148M"E])6XB_@EVS0'P5O'D;?/?F'U_R^&M.
M]:^^JDD7LHC1E-R1Q5?-Q]_N;E[2(LF*;^)D_4W3YILP33G(U0@K1A924'<$
M%!#\(.;^_XYZ%ML-9X,\66]2\O4W_8&*Z3I,LF!-UH^$=02O=0SK@"9KDHF=
M$M33=855,HQM<%=\/!:5CR38S]@18L5( ]*8+,(R+?H3^?DX4H!WT)Z"*N9Z
M3&B:+$A.TU)L\?P?$5U_(TZT;W_\[MMO*L#Y@5 0/F<19+006S?(R\><_%6*
MK\@3_V_^')7'=)$'NS$JF V&D&+!L4VR1 #Y@?_9M!8 #HA/#0SY4A!^ 33'
MU Z>E$8O%C#?,4!.HG\LZ=,W,4FJV<6'BB3U$I+D7U=9D13;=\_V21H^DO2?
M7\M^KJ%)Q6E,64,;]]"TL]T@4'T@RS"MYYY]2?(6P"0M.L.T"//':NN5>; ,
MPTT-&$F+?/?- <+FBW^]2_(HI7G)R /GE L^_I^SQ[Q@852<0&S0PRD&][L=
MP7<6N>$?3TFM;S@.O _A8TITL#YKY!;._;ER51TK^]66@:QKKX+^<#[.6/05
M95QB_>?77.JM[X__$ Q'XG]^7;!R3XSF:NHHR"P878-8@W;@?#ZS2_PD@DN-
MHNJ@H;KCVBTB"GE&LES/=P<%'*M C-Y87YKG]TZGM6F_O/IBU'Q)LX(S]55:
MT97+,&0I/AAC?*20=-EBJG//\:[2GQJ0\X :'Y '-/_SFQ;9<3#1^,W/ 6^S
M3@KQ51Z$61P(IDBR)<FBA)B*R=#AG(O,9H!Y\=F+SPHAZ?+ 2;,LOCSFHY;3
M02(Y=1O$JPE>33!7$[R@[05M+VA[0?N<!>T^]^EHTO=/04:*@,.6!TG&FY.
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
M#?3[L_?X=)X);VQM4<@OMB_.Y^JR.MQ860Q:JR&G\C2#3^7?LO4.+._ 0N#
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
MK8C0WHP405C5RJE;<:0L!=$9SS-Z8%U'B*T$V\'>QFAY&F/;/(QQS7MG$?E
MPIS,']-D68UU8I%V.>4P 3S=(&UJN&5+E^313>J<0.J758Y7LPH"GB]^RYN.
M_>G4?VYDY!+WQWQQR7]N+V8^]%S8R$&SY0-AZYT<P!O-BQ5AGV@6'3_9,SBI
M#.% 1L;G9X;K;0B;_7Q"%P\O;]R(MY4B(A[>R@F7U%:</N_($TGI1L@+<@@[
M#N'C+GW<I8^[]'&7PV,UK;A+*T\$AKDX>X5)BRMS+1E(;B>=+AV/Y:7&S-/4
M_]Y)5:UB"0I8SH/J+6]:NB*R]#G-Z=+T^(?&6'<;;LWB=8>'8;)4/JJ^??2C
M ]*J)YXL/0^JQ0?Q,M[IHWD." N$8,(4WB'DAIHO9ILPY9YX>\JV3NAV,M=D
MJ78P0AW]=K!8/<K*6X\"PWE1N1(1QR+OL\DG2]=;1C>$%5M1*ZIH=)U-2R;X
M*'-/@:J[!WW;&8=8IB-T-J>4NRSS@JX)JUZC%T[75;+)E;7N 3T</V)0F72Y
MM$FB5493NMQ6AG(U%L!>3C&YEDMV%]N/X;\IJVH#*2Q('4; @N$!.FW5_(ZC
MG#^FH]HZ3U]'/T&E_?%T1[!I]";@[NHX"B9,#7BOQTBO!^-1=YP0;>EZ0PHR
M6S)25X=47GKZ#CZWV'UNL74X'U@8$\&C:FZ0-?-YT#X/VCJV7>].:O%"PDB7
M+A([M20*^WQYGR_?@ZM]OKS/EY?MT,Z&"'2[MNL)2SO:FE!N9[>WU$0VO 7.
M -M2T27H6T!>K7^@R^&W@#%4_W:[VA:/_5X6,G1'?Q^%@]H(1T=Y%XRCR?6Z
M$RP=$KZ>D*\G=+[UA%P$7:,38T8@$2BF%YWTXYY0DB@S(&4F4,O(=>P]D')8
MBA^-&+4$I!26"DFCIIT":86MN)*3.&(@;;"4:%*':@"1P5)8:<"#%YHR A4(
ML1=>&K+:!I1&YRPU0])EH'0Z9]$9&LH-I=692,]F<<50XF 1H$<L;0,E%1:)
M&4GM%BC9L(C/PXB$!HEZ4()AD:$=EE."D@:+".V^GAN40N<LEQNFT!U(YK;P
MX_=!LK-I!1SN=<C_I8O]EQSFCI4>S0=V7MJQ*XBP6HZ^"-(K+8*T-Q(+[WR^
MJH7AG N]\X5PL[(G:2*Y0<]Q,)+G'[8U&0?&N_#S1[[-61*F9D37=AP''U%
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
M/-@P&BPH6X=!DE7_%C4O=[+\=AG;O:6W.Y2]BI>\O[PY>D567K!$U<Y$49.
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
M;L-ME<MR](Q@'T* !O8EL-50PE^?4>%A^H8-.DS59V;/5VN<^3&%(!H)25)
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
MG.&('AC7].LXB8L8YVQJ]/&4FGNKF#Z<]PA9R] 41:LEK.2W_!/.'HGLIK_
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
MJVQL_31U?I""S#EP38*TNUKSZ',J>G+7>+:W;@T3,:#J#BTSR&LW@\7U?!+
MPX,>,,@51)A:SL[..US$?"=!:]F/P08OGN.^!+?AAQ5/N.Y!;7-^ Y6U1D8
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
M>="&+V,%V+I'$. =HD ^2Q+Q/"[VBPP'YR0Z5OKZ?E:0A^UAK/O[H;X8 $,
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
ME74#-WQ:Z@1>&+*79&2,#NZN8DH7_(EWN[-BK.1;JA<RPZ-;OZ8HP:/#^PI
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
MIX-(I'_F'HL,-XS(KLD7CWF1!>%QZ(SR^\:*#_? L5[N; V1=&#AM<06#Y\
M,=6ZBF !%""I\'*)0_H[_>B] H+\>@V6_15:!&?,?(<A5!]'[X(, O;S14@/
MK!WKTW*!EW$8]W&Q^(N*[#L.P$$?B0HBBCA(+PPH06JB3C^'+)=3-3Y<PQ&-
MGW!"6'^TX4!5H7>4&6U@;/O=;CAPKK UX#TQF@B5B1+IG+%7B\]9&R<(ZLXP
M-;KS^(F*WY!L\#4I770/P7,/PRF.HLB"DM!<"C[>J2ML(X2H3=(<U47P["F1
M6'6-B"'".V/I#R3%>QX8?KE+H^[>=F(/*S)H]Z"V^9!!11PL8G#]]G$:(2V1
MHY<[]CEJ&-TVC(=92?A%5;8:!6"=Q4Y[I!]YG;PRG/@"$'6J:OI/WY]?M8JY
M]<=M#SVGXNGL&L\VNU"8J 54/5S;#/*F<[7!M0A3;-G<'KR%@XQ"A GHKLA]
MD(,&#/] I.%3D("?=JBOPN@+JH7M>P>V[N.!RLU@P[ /+>!>&RF,TYG($\^E
MH5Q6[^A&K?O;P1/=Q)#J9K8R:(_<Z[,;@Y'5(C:6P)ON>DOQQ[\1:"(.%\12
MZNO@NX8TV$X8'I18A@=J$)F6'CN\$@.JK !Y-;59;K0]0J[_4?6D>TQG&D&E
M);AI[-=SU490T8#E(%GG0H;-G*&#&GS*$D<<(U2AI*XYVYZT=F][4*)S/MNX
MFBU9EN4(2O)D#7E\E4!29%-B8!F\G1[0G>@RP_@*PJ\HUM(>D/$!#)TC_8 \
M'":L0Q5@@RIT)N@;$5B:@8-%E-[.6/>BCOVIPU9&X@H$WE!DSH&17:5C#J"@
MDHEI=$;*E;+I87%91W3>5X&>?BY31+B'*!#0?9)%!VJ]D3CCK^BF570,[:(;
M'(.-&N#HDW#<I.T$BR%B=V56C%+0&8OU9!M!,S >K=W#9\+O*3+;Z/CVHWHA
M\/0@D*L.]9JAA*2K.42E>N$[<>(398JZJ_ 6KG&T2_#-LMX>YQPAH<88LJ^K
M5G\3!&.]%ER)!YA?-28S5.(B'5!NJU*<[*(074K[%IAR8M*.<'14Z)57VRAC
M]]$3%.4&;CQ.)FZ)3A5UUM@<U93S'O!3$O<20GY:>^5<1;,XMZE6G$]!IZC2
MXR!E+B;IE%CMF/CC'-=)46>,UYEY-\QV(J\H,MW0T!Y8KLRXG K+"1&>J%#3
MH9U>4)K'5#OA"1"L8#)/G*5DAAHZG^,DZ6$\N9>5;7<1(+:9D6L.<8U+F3(S
M0ZOQ6N?63'@IZA,]DOH5@*-&O>!;)L6@5X.^)0G]&O2BA!\3@_Z-^=UCCO][
M!QD38+OEH];[V/.JYGK?N-;M\QHPXI#]>RG':4RD">?NS@BSLA YE[&C$FSL
M<=7;HIYAK<NL2BJAJ,2 A73Q!!9^>/JY61DC,Y&EG2>;]"Y>K8N;Y:\Y/\2%
M3-*>=XQ8I$=CV^:OFR.?30;@YV0YW^6-<N:Z +P<U7M-T4%2NJM(+%C3K8?S
M9%]7K5 L",99I6)!?)0J%EN;JW+EXF/7:5G0R8]LEV8YHDO;:6S&7UMUMJ@9
M1Q_EQ;A4=N;86#:V:1_,2>S9/N2,;V #5/B)4R'%*PA_E-O/@-O/)_LY+B.P
MIK>?1QE5='.+T=VO_T/&ZV'#U^'W?JYV=IBYGS,T0S59TPE\.IX;87^--Z.:
MMWKEU0 >@N>RO,493O&RMSR.X%O*)O;@Z+8YJP)/937 AQ(0Z)&#]F1ABQ&;
M*%+06[SZ P4\D$<Z]KBA6/1J6.>1YP@@^TP@'27P0$1Y-]6FH;ZWK LHJ?I
M8>H:U2?C6+:N:WB34-F[$+-I;VO,7B%:G3+7#[+](3P;W*?LJ&!Y]U#9ZW'
M\Y$E#H3#%PP>"7Q@7X>"S[QL 3*/' Q=M)ODT=#11D!W& <'@XN6 JIXV3X6
MG+47H'SUIQ=X*AQ7GS=#8Y?.FKB@B#V![7(85+/80&3:WUGB<FG.W&&0,Q'.
M;I:7K%$!8-_OVC$ULKHC2!<#1VXC6!;TZD]H0])BG:.,H4*YYFM%[Y#[:2O[
MDG11]>5Y,L;;Q.+*>?'YBMWK"[QAP/_K^$[_\LC/.ZD[?1&*]SA-IW&?+[<]
MF+7UF1@YG8[&<G(>E3#=G4#?VS]LE.?DXG@ID7L!!\HQ.RH?(9WKH5GQB"N^
M3&STAJ"./ZA2OZAS0%<=B#A8B8A3>Q-0[!*TQHB^%&>XW2CHL%5ITQVHL=":
MAFG>.@'U\1 1I^N4#[$!=[KF:.X.,C7GLNI1]H.CH\SEA8$B>B_E..MSKAM9
ME<GY0C]2*?3P&2=/^ ,S^35]HGW#6?:-'H.=FH_T&#^;OE)]6JCY3+][83[3
M7E95\)T.TWS"1_K -8C>8,X.=+5K =7S_$]NSG.7]SQJV+V0T[SO4L3$DFB:
MI_?K(,.LSB@TYZ%@&,1%ED%301 L9_OFD5+6+#X'672+Z8)2I%?X9LF^.#ZT
M;0VO8@H;1,/VAC"-K[35[956"H<^0Z8L_-O&&+501H][U'ZN1!LQ-&>HP1RL
M]Y=(-S4?1PD9)IT#:M#]."C0)MA#KW8HK\RB4%$0AB2+6*GESW&Q9C68MW0D
M%.0H0-N,E$4[6.VE79%3418Q_PB;C0<_B VQ0VROL\.8Z\?B'H>[C$7<+YZ"
M.(%R9I<DNP^2X?[K.D,H1V.+@[(?FOU8H :9&:K1F2])-@>$IE+W3FF%B FR
M3\Z[,'SUI3B*BP!<=U=#DFA9#[Y5F;F:P^#[%^8P&+CLTJ*P\R*K9#E@_ESN
MBEV&.XP@J4*L)D%H%FLU@8K+@JX<VSE#%S7XHD49M<%11FV<48GT5$Y *US0
M41W6_-*ZVXMX!4+A#C,%/EW=DB0.]_R_HYM,YEW5W2,"P_JVX$B@&@MJ,#(,
MT*?R7^^<+K441(N^FOZFR_@91WQK_(*3B*J3=Z<EE 2>5/$"=8]H/PB.0BVC
MW=":PF5!!%!V2-K%8&H"JDV8RD3NG#D EKWS\F#PCS +D2#@1.])!*](S0SJ
MY-Y$_XI0]?[D._OW)[[N@O6P? 'W*2(7IB:7RD/S"=9Y.</1P#3.]A^"OY'L
M/*'R5[PMA>[ V@TK5!%P:?E4.(Z80'"EP#!%#-6I&3T&%KNS$8:9%71WQ@9Q
M]AN4G5E$?]OE!2@]-\O? W#6%[U'J,@[JB?DT-BVN?Q\#5<4<*&SI&@TY7@^
M<_AU&9Z1\C5V9Z93\LK0!&V=<T)\191(ZFY#D0S'JY07N:=&(L4E#T(X3?-%
M&K$_$W:XYF)>!.WQ5#>B*ESKYB)'#%68H39J+.*\C=S4/!'ZRTF,K]$T[J,^
M! 7<I>V%'-@:(]FXE^J&Z"J5I*D,S+":H1JO&:HPFXKZI;-PHC<Y(JOASFJ!
M4(>SXVB(/DMD\&%5ZZ)S4.L6 _3B+J.)PA9</TK_,%V)'+&F(2^K^TJ9&@OZ
M ]J\U?=:6D =0VMW_8;HH7;MWUU?XB7% @B743"U&!-PC/^:X^4NN8Z7\@F
MIZ\:=W(W(!RYLEM.J:J: LZ+> .6,]HQ;*C-N\3H%:RFX>HI.K.5DV&_8ZBW
M0*>TH%2"(%T.&EV+3LVYX[J#V83<TWTTU;QT/:Z1=H>?<+K#OQ$PGYA*B3>/
M^/A457E5Y5I6$(3S4G@S5&*"&E30)XZ,?#*[M5FJ7>:V9QNSPG^['$X]>D90
M85*@S^LX7-.3D1,  L1Y+.@>02LY*$V<L9(NKR+,/WW-KG]7E*E3^BR+*<\P
M-512'_'?LEQ+=!;)?;^@\N(J7SSF11:$H[V"^I[7[1-T/*YU!S;)J[93M9J&
M2QQ^]ML8J)?$74V!ANGFC)_*"+7*RWQ1E[GHX:?1YQ7YJ7=<5\91+P(J&I/!
MV2AT\>'0O>R%<?8@TE32CC9C1;NHFD6'AD^W5+C'NTV_OB/VAEKTV=#(;DJQ
ML8OL$CPJX:NK-*9GI!V6MJPF&=>3W'*4O(2D"7$242"FYJZX2?'[\ROFP5R3
MA-K\_=MAY%&5?= SI/7^@BE&%"YJ 5;G?&-ST&9Y4DXK;W#QP.MC;$)DZ*;)
MW6=@R. \/R>;1[JG@+ ,X!V.=G1_75 K)EW=XBPFT3W]-5_N/Y("W^$0QT]P
MH]*U#4R-J;)?=&$[\D4EK-W8!YRMZ,:B_)+'$=-V25KE%D/J,(L3+@C*.:8'
MV<)';(S(8Q*ORFMN^@K\_"JN1I-R9GFBHYR ,H+D"Z"*@K^^0A*UL)QQ28Y*
M1!''%'%4Z8\E@P&VJ$'WA7&0>NG"= >"M979GY5TBCB=6 H_0[6]'8/T8$>F
M0+RL(1ZE';SW6"U'V!#"PZ%C3"@3*^NK>8PMPC#;00/#TE601C?0:IL'PQ35
M_4V,.\NN2+^L<C ) [$M.4M$:E=0JS%YV>!;M<.@[7DJM^D-7NR4U40:[^ )
MXJR><<R[MT=4'!4@J= >%V@;Q!'](Z._/I&8;MH9HTR+%BB$N.1X&;/D)4ZS
M;^!&B0E"NB,3'!9,S%6$;!4W@:_;8[V*=KPD"I6,H(GO<4!E;E9]!8]39#8'
M?97#?0BB=(D2DE)=Z6L/DE->/! ]QC"OTK_+Z50_LW"6G(MD0;V]_T5#RODI
M %^:XRDF)E0>$_,SI@-R9'AMIWQ6:G_H%4OD,:+@F9BMNA97:6CT8ZG&T?^
MG'K$/.62"AG,23!YW6Q@XPTH8&/T]Y">-9#Z(E6=0F$D[00L88C3J34QE=!>
MG67K3*527 NOX9D/.-O<+,^I>!VX=Q9_T6"XY2$ GV&5AYB8"I_4G9_"D=L;
M@ ^XP,:ML/$9A"7!;",QD4,4-J_ WN&0K-+X[W3S1]!G8AD'U?:O<BRI=EW'
M:=(?J X1M;L0W=3^44'5UP9(0TJS2=1\J=LFYV!"=?5$T\,$S@<5L0.!92TS
M>]8T67G!=#'D_RCON,N.:LT="40  YY@"$S7"+ B@@;,!WMK[2Y*ZZCT9E.4
M\[!$YT>2EAZKOO MY8%4X[JD 3JZJ[S8810L"[@?J9QVQ3HCN]6:;J\G_HU2
M=PP7,U935.4Q\Q-#ILZCQ-PR.*S$O,UP& _E3'8]HEQ)N1G*%=^U8:KL*#V<
M%8R>-D!JZ<!MBZ?ZS1WK3D0(X]16R3N.4:@7S0_2:SH2-:GHSW%GC3_;L.Q;
M)^(X3= L$4?>LMYMA8KZA@B%"RIW^&))8,CF2 X(45L: ;\G#0#Q/&9&2$1)
M/7E+0T&.J)D8JFOJ1?^@GQ/,6EFD4;M*GH!>,O:J 7VE#X3]C@^B^HL#/6"4
MSCWZ@1CQW%TL-%M!//E(["75"X7!P9U=)@QBH7218'A>"O%*+13\W ^(\0U1
M(]J$=.W#RXP[2)F_6?Z:EZ_:UK[%H/O6QX>Q=.1]:J[3N \W S3F9#G?Y4T=
MAQ3[53A-4\JS+3,\G2^*TKK*/AEG3Q:$&18\9/(10L2#!&8.H8^0^L&M@T,'
M*\D&PB%G33SDC-L3V1=K7PA*2AL6APRK3>AD:U_'N#[71&#[/M6&<'1TIEU6
M%[13/M/,TLGSB38TF2^(RF:OR_]YEGF0CC9.,G$FF] Y=DV9 H+,+O"64!ZH
MLR>::T@W9YHL'K[/-U%\'9UU@,Z\@!#(J$2HE7T5^!? ]LCE^T)*<&)?*/5U
MC\)>;OWG$>A2F%JY2E)BNJD$-1^:I8["FL> >@UL[D-N@B);81;^@G@-T-5&
M>',M/E\T92SY'_\Q0IQ'Q9'Q(&>Q%3=_1IRW:P.Q)BY+#'G\][@H$LR;'-UF
M&#+YJ^-,\"#0&-F0M%? P)'1LDUV^<^HP0-VVEE,6 GM+<>H5A!-2"$GE#!S
MN"F@^F(HI"N,\P.&.6:45@V.?:/;9\RP0-L@8R\=U@(KFHF"& \F+,AUQ,F
MM-9>=S\B>1&&P!2Y=*$\O<$="N93))S*YH^X.-INE7P.2L1:I;A<"2 3-'$G
MI4^Q?4ET,BNK2Z9IEV\K"QC]PPGI >FB*:?'EMV=J/Z=9']07?X\V,9%D#0-
M0S6%]-BPEL5S'WBG-4U!,'_FB*"08X*"&A6;$L;<].W*X#X\7P9M=.5N/V^
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
MY2SY5[0&F0V4U;RPK?H8*'@DNP*%]60\N%W[>("(4$F31:])NBIPMH'-\"$
MSQM5D);TF[]0J7=)"=C%M,(OJ;#QZ.!.PI5'L9#F=0OS4BEXML89#@#L%":@
M?8G21#,G%+LYH(<BBA_:E BB8AT4J C^P#G:)D&($9L\/]27%(*'_2Z^?8@:
MZ9WIF\PE]9&D=6 E]TB]>][B-.\K^2KVDJ(V.3RX;='!H*-7F$/[FFJ0 )Q%
MNGC1GP1)3=3HY[_OQ=G^@>(PD&<N\:;ISA<-!.NF-(B^Z_@)1^B!?A^#CQ#J
M/'KI3J=">9%>%WWD=!>8+RGF;$DX;\)M% $5X]C@;%3KT"/"I'8IM/T):RDY
M/4$1W?;B-VW,!5H3";YH)D>V X"#_-C#&YT&!_3)]V6.!/W[<V5'B>I?58#3
M8[!HI,2;IE6%!H)'5<%G=4@9V@LUQNHAJ,/*\WF1Q6&!(Q8H.NAN'WQ6N7I\
MQYCVZ_960%%(H7HJISY$3")%(7?7-K #*P_TR 7SX+.J5S!=8]KW'S-P*&#
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
MAL8D?<@*<>FGHN#BC^*\,'PHPAO  $YT!N MQ^2DD#,S7@4(P[%XU*S5CZ_
MFV4]:?829!/SP2XJNN;XN>Y2@VJPSW4-9L=2<QLB3>_7VR:CT2T5.4NR;48W
M%WS8ZO=-;H37.P9%7M6!;DB9'7>-T6]'$(*K_$$2@[('E8  MN+?Y-IX!>LR
M%7BE&AFO$M$89>%&;L/U.P:I)]EZ3.*+C$BYE$YQ/\+"XEIOF,\Y#IK@%AX+
MJ.S8XX7!AS^S2&;;[RZ4O7],%U5'V!H[(@'T'33I%:BA6@/PF(%W4!B8+I=L
M=]>3[^OT[_NLRJ;384Q]A]KW!OKSOHF=?"<]HGA_C1OP3B-52_J0E)O&(H61
M)AW"&%O$E+PP;3X&6[QO*03Z=GG@!C5![V/D0C[<J?_8;4F5-&3C%'_6Y"PS
M8U=(YU]*Z:8"TT28(-<[D.C6D!E+<:_=#N\2G.[??Q44"4 :O'WS]<#.91)6
M+#>5YAPP-&.])C^_RVK(_GM9;++G;+-/\E^R^E$X]0'18[:[8^=%S8WDT13H
MR!X0B= -*7F_Q@$X((T=H'@)T;&SP!RP-JR CA1MF/S.A;"%*-LP*%)Q"C=,
M\W-,;/"E&T9S::0E32IZ1N6_4.NL7T9*U)!2U:-D*2E^V+EBQ0-<0I[1'>/F
MX4@6#8<=X_)G.  0)#[,"5)$QHVP_+')K#91KTVG3ML"1N\H@WFF8),/&P7\
M)UF<\9 _J\%B=H)K.1_#1Q%!L%&C>'M;$B6;B,OE@OF;Y6#'EO5F(T[>27[#
M 5\6I\DNJY-\\NRKU09Y7)GLVWO*U)8X >H?N<PK^G&/Q'H,9R@N!O2-M][Y
M2>D:_0[M'3_JSW_*&7&LE?'%4>5FG)5,FS\!'2@JP_V\B$Q]BG:3O.W2OV>D
MJ4FP %F9Y"DS852X*EO<P!&UOV2Z+JB[P0IPBP\<+HW:8*ME3?4=*#M>1S3&
MD=.,RPS%NF#B=01ET'6F]2U2G ;[#"U&<7QA>FQE1KRR3N4CGJ96)Z\J5/$J
M*ZBH)3?Y;M2@&2[5SVSW_J^/) 1R\MIF,0$4QI7V0@T/&<V3W._SI"2;K$IS
M5NU+*J-ZU.#O7]OD);R_.)F!]"6-8?EKJ40769'5-,^>H8Y1S=F;<5+B2 Q'
M9:@CMWYB99W]+N9FO>4'Y+_1I+S@DS*D7 ZZPRB=!5ES:7VFY3TS?0MY]TA+
MF@!A8Y4+.CB$&],"W[)Y8>NT2WI01""R<,>M"/V1YGL1%K+-BJ1(LR27?Q*.
M.BA#_I+E^8KD2?J;>,S^^%IE*?^HVM]7M4@/^)+5C]":,X.O;I!340T?(A/O
M(35,RAZ*['?^"R%TG/R^%$TJZ.B5\X3_*L_9"Q!HW(6]O_Z!G N4HK(%[R![
MDNF*BP+N3J2[L"(OC[1H_][\$JH;EG3'Q]X$GC;]5XU-"=SIQB[<;< CR&A,
M/G#>YX JV?'U.TD??XJP=+M8QYAKF0UF9X,G]$YX0N_'*A,.?8*TJOM=>;\(
M%'&&D&$[BO4\R#6FPXIP3D$(Z6UC?%5]XB:"XJ;,TEX <%.]^-.8X]"F+ZQS
M$4,S6'PN!APJB#<,%Q!)(00R6/^;"H--(?!56VN0"("];_K5PB$OQ(;O$$E9
M==5TC5)$!.:1NQ>/[W7LV'>2-L/VY;^W6M&8TPD(&(8KSJ2W]$FFW;VAI8AQ
MAE3-]WGV(.R6QI:YRY[X)]?;[_RWU39)X6_R==K8+N&Z>W2HKQL8WG. '69_
M7$V8_EQOX')_NZ_W)?]0/8G\ -9E'/5Q/M7,]_S%M;LFKDUFOW=I/X6X+ADU
M#&)>F\QS>6Y-CWA=HJ41-HMRB!5WJ<OI<M=/].*XI)5O\FY/HX7+U2_,/=_$
M^A?SPD^'UW-KH/O@]I#6JSBZG24UG=B-_1")9<D>@ ET6[DB+5[2 TPZQ. @
M4$NS!"UJ"O5@0P9)#IP \IA&@R=A<&GK3LQPW'7_>E_#%0><_TT6_X%F+G>
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
MTCVXY68=M.A'1JPX,D>S$4Q[;TJ64KH1)?ET]K?9[Y$:.=JO_R!825@F&EO
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
MEFO3=($R?$=(-3<GZ-W4A%++6U%J6626[J+^DQ9+%%FVF!OFCN'!9/I\NZ6
M1>V\?.\$/_(M!4YQNU?8P.OZ@H(]G$,IMST7O->#CT>$W&'/2*EW@"#4CN<
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
MY6Y#UDV1K#<I^O:[$RXV.2I(PQJVC^07;7M*HD:.&G+04XG(>FU1W5.4XDC
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
M_G4S]?0,I54"%B6<0T=CHI>E#E)?;5"M(&D/<YESNX8+E(K:[MRFDD"(;P@
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
MLB:DL##M;N28^VP0(=8[UEB.-> A.74#CG>J^<AG;\I\]C*.0*[#\CJD*]
M^,6P6]B5;2.'B(J>[HJ[2 ZI@91D5QQ-<N I:$6N%#V  =73E@T&R_('.B3
MZNEE 2/VDS.(*;IWP$C][ )2TC9?,#R_N 1//^NIP8R[@$ 39LG?]51!F,5"
M"T5)U0_I*B9]YS&1L3<,S;T<\%TFI&&($WE;AX3 ^V M\<'>1RL45_19R(:0
M/Y(8W63U^['-\U5;E%7HFAR$5V35YEF87E9%B=<H+RYVY%B+JZBDXOT]RK<)
M$2R$UG_=\QE!KZ"/?IU<A_,%O08O=O1_K\D%@7,H+@HC>1^) SZ2>F;1(NEN
M9#N=,!_EM*QKNB])[^-A^7CX:VOJ5EOOVO&N'>_:.46"<>?A 44G5Q8-'"K-
MTK<YZ\7;8!$F>; -TPH%:Q32[(;ZKTHV"N!H!BP14I3U?.^VEE00?<DE*\AZ
MR5MVPL<D3:B%E/=XK%S? <+._PCS/*2'(H \45M-4? R'Q!DDY%:#-[R8HGE
MY9I\L]_I)[O8[5?@[C(-BX)3?P34QPP7SW91O03C.;E0HBK/R1%0>]&_9/BQ
M(#<'794WV:8JR9_)A4UZU<?"2YZX]4Q&FW>J: I#VC5.9<B">6!I5A2HEE,
MO($,&EKF\'8[;[>SF<[SL]M!!2EOG?/6N;.USL%D4&Q,5',%9[$)4$(;<,7$
M!5Y\$@J^*]&Z<MBHV69<64=CN!@L7R[>Q:!B-Q]<_W-E1XE!U&]Q,.=W>!<D
MV18591W?J>9LX UAP,,@)D=/&"-O7I U7$RX-X%;8@)_CQ[+>[KOZ[-@M@V3
ME'ZN:YS?A^0P@9@L5(;PAC=O>+.9SO,SO''/;&]M\]:VL[6V^5@XKZA*Z%CJ
MXI YW>F'^O#/R VW4].<V ,8T)M$Q.C1FMBS@G0F$=%>8[)$8SH:HF[V'ZRI
MMU!*QC' NGM-R6M*-M-Y?IH2YZ3V>I+7D[R>Y/4DKR?)./1D!"%S.M*/08K"
M0K76!J.W >V(2TF_ARE042 TW]1Q#-EREL7-(X7H(YWP >5K\BOZY E-O;TC
M1''%C2&'U)E&PL 3I/1QOX77^"S1^.JU=HD+F((G:#TRY<^V3TW:(3#I4UA2
M(]4.R)7R2%Z#]1JLS72>GP;+NG:\^NK55Z^^>O75JZ]L]75XM<25U2-6^4&B
ML2O!W1 X>LK4YHPA/P5A'7P=K% :!PN<!S4<2J81T%@&#"42=/4RFQP-84U
M^V]DNFN<WXD\BFJ==9I"0(B!#",2V'LSB25F$J]Z6Z/23H7.\U.]80>;5\2]
M(NX5<:^(>T5<H(@KBK_F%*>?@TV.B<97[NJ:Q.BO*MFH5T<$CF9 >9*B3$]
M+I $D#XBQ8[72"S12&[;;W:;TM>JLOAJ_]E$4BJ\H]>PO(9E,YWGIV%!CVJO
M8WD=R^M87L?R.I;84R4K#YG3KWX)EAC'7Y,TK4__A,R9+1/"W][NIJ1G28YJ
M0-]2HE"/WB5)"DC_4F+/ZV&6Z&$GM;N2+"G1QV2+XIO#-VQ,-[)5H&5',L(Q
MYM%Y7955CF9K^MQT\T[5U=,&906L[(Z.*;PVZ[59F^D\/VU6]N+S6JW7:KU6
MZ[5:K]5*E915$R9=631PJ(87-LV9"GZEK\ 21., -606]16+RQ7*@ZA)10[2
M8Z%<-=-!SUD,F!(&H5B/::$G:2!3PR#L>].#)::'.?UL;5V!DZ+7(-U#JJ]7
MG;WJ;#.=YZ<Z]SW(O2KM56FO2GM5VJO28OU0050RI_B]^3[XVCQ+M0OHG/D6
M'>X!Q?JW,D,:4.GDR=.CO\G0 5+6Y!GSFIDEFMG1^G:;X[B*RO:IN-TA!5K2
M(RPWC-?7O+YF,YWGIZ])G>5>.?/*F5?.O'+FE3,9/Z>*B&103WL3I#A;DI-V
M'<3H43%'4C"*"6T,0I$F!8P_-4SG@I#OU2SKU"SZ,)&D2L7N8HB'MBI6@HKY
MXB-9A+34F@)?<L-X5=&KBC;3>8:JHN *\MJAUPZ]=NBU0Z\=RFB'(@G(E=4A
M@XF*I&A08WZ[-Z$J1JNR!S"A)PN(T:0B,V>%:<<"HKUB;)UB?%^2+;S"*3F[
M"IK97NX^DR_9&LF*>7Z7+%=E =<N%<?S:J97,VVF\PS53/99[C5,KV%Z#=-K
MF%[#E-&F>DE&!M6J=T&.MBBKD*)6Q>IO0JGBT])+I[IK!BXN=JVCF2Y]KJ0A
MVTWGZQ5,9&!Z'Q]7K_99HO:UB^T.4522;'F+\@7.U_3QIOECFBP/><M1B>*'
M9$V:D'.+_+98A!']&TARUC2+5Q&]BF@SG6>H(C*/?:\A>@W1:XA>0_0:(EM#
M5!/_75DA8LU9JQAI4)_^(2A6!)['D. ;D.8T/;^>5E&_AHYG0M^6HTV33Q-*
M!$S5E6/)J[Z6J+Y'.]P5V0!XA] ]RK=)A.[IU[R@7_/RY&/.TIHN\M-\<8<B
MO,R2OU%,CJ $Q_017PF/J*;Y3/F+.\FO;9OS37TLS,CANY7/8.T[L$D\'E^2
M?8>*,D_HQ50S,,OB%[_YDB5E+Z2T3.E-+-[$8C.=9VAB 8L;WN3B32[>Y.)-
M+M[D(N64'T3J=&4-22.G40H%8_K6'4RUJHH&35X_!F'T5Y442=U!T<[%'<2$
M<0M D":+%G=FF!D+0+RW75EBN[JH"G)C%^38/'RQVQQ?4V/X35;;Q&MSMT"5
M4AS%D%VEII*<Z)R2^Q>[3^&_<7Z9AH6$.:[OP(;PZ/AZA,Z3?\$1D!_*$,_'
MV^TF)B=7LDA0W'RA_4<D\L5)Q4WRMVJ-8DESVJ"S> N:MZ#93.<96M#XDHXW
MFWFSF3>;>;.9-YO)&"I414A75HT,5AKDRW.TC0VCMX&1>S=UY'JI^P9MA3\'
M&2H# E\1)!EICH(-?;(&K]<X:WRABO9#Z8%-V!05B=1D9Y2F!F9[5&32VR,M
ML4>>',J$D#BARWN+[E'45@NZ>HK2BJS&:W)D4<]%5;;NBJLPIY&\Q2W*:]^&
MA-5NX(E,Q1Z^H.LB+)*(7/_O*6O2EBNET;R%RENH;*;S#"U4\O>AMUIYJY6W
M6GFKE;=:2877J,M+KBP<*8N+%IG;H&DA(("%6?)W$S]-W\,MDF66+)(H)&W"
M*,(583E;!ALR=$1?Q8U1&29I$92$ERI,94T.@TUHPA0Q,/&]3!2T4M(#ODZR
M,(N2,#T<;N^;&1^>3WAJA9#KZ0T-5AD:+L-B1?^?ELO:ABGY; 4YKN]7."]I
M+>*;;(N*DGY-EEH)'P"F=G@%68^"/"W90^5@,:ZQ>07% NG<*R@6*"C6VB[4
M;RMS0O7;8!$F>4#(K5"P1F%1Y<U?^XG.LL,:$)#52.PE!N]]ND3O>B07#R7T
M$M=".)F7_%0D9$<<,YANBJ)"\8M+6GT@-1&)P<KEQ?V)9_H36C^BO(M27KL!
MR/AT_&XW&=%EZT""VSR)T.\X)0#0!R+9Q,GWUD!R6R='A5Y!UP&(M5%Q8Y!Z
M'R7WX0+]AM.8FC%NLH@-I*BMUR.MTB,[8F':<"+4":1T/^/<O,8>V-H(Y>)K
M9T:K8B_K#5]<KNB/-]EL32U.\P6CR^%!WS<")#3/;LB2 .?N0&IOG XC38?G
MEU?@<!B\'-D0)B_)>)\4M:7VCMR?G1>:?$>C_$"$,Z6^1KFZ2XH_K\FU<I,1
M[91H>=)?2SR 4?X>R.2<2TK4W#CM7#%!W,';E+U-V=N4O4U9W8(H$N/YD?\\
MK<45A(1W")8_L5W!1FR.!ZF)KG@G )L):'QT!1'Q H&):*[@T><P$2E.KF3O
M]<$(JJZXDJ_7!RN UNK*DH(>S##[.QB5'^Q&!;)X>OFCP$#]Z"A0($>8*YML
MC/ 4RX]C'YZB$)ZBP2:N3UQT"45EU*0/(@=0&]1WI^^\LP[IX>*"S 6CO0N2
MDQBY?A%HH+$,A)U)T.5<R@4K<@?EM&[.FUD6S][>[K=AO4(Y(3S03CZ6QZI8
MGKJZ3_N:.M<KQVXX+KVGY^<6Y26M5P18I,K]1^6N><C^F!WX1U*N,-6GPCA)
M=V3'HWQ-#@)"\G68Y+_36-GF,F9PJSR>H6B+8TRVP,/-;FB0WDMR,B]QWN;X
M<9<AO..XON/Z%+^2V$^ 'F:\WZ?G%6<A"=O[6 ,?:^!C#7RLP0"*(O.(P7 Q
MRQ50.!<X5K\F74%';% 5"4"N>(YAZT11JG<%) G[.U_,<0X0WI&K8K=PSFD%
MN9/ ,KYSZ'B7GG?I2;A5!C.WF+/Y_QBD*"QZUVH2#6/ T@\CJ9>1_R.=X(J.
M4%":V-9R;L/SRA,FFR.]JC]5#0H;LQ<-U]ZK,+)7H<C+$YL0^=>1,O*/?WT*
MGY)UM>[\@,R_ZZ<JR?A4=?U=.U5WU)'>\?TZ_S8.-4R$.OXZJHVQWNU4P<O#
MB)X]M'8+QZ K:FZ<=JZ73=QA9/J+ J'YIHY2R)8U=7>(DK/_%R60R0NDLR%/
M4Q=QE)PFJH6B+\'5\XZ^]IWW'7C?@?<=]&&^6Q# @AMYZER#[W L?V.Z@@W;
M,,,1'J=NU^5N!XYB,76^X=8XF-CK"AZ0 P)J-'#%: W&!&!\FCHF_/."K?)/
MG6_OP/ .C#X.##65_0S3CN2M .9<.C\%8?V>:[!":1PL<![4&/1S\,@-:L#=
MHT)@+^=/\VCN;V2V:YS?U>H[X8XH])3@+H<&M\.@U8%M= =Y+XRW"'J+H+<(
M>HN@?:*]Y=J_%^UE$Y&E1 USDNK/P2;'1*8N=_4#:>BO*MFL^\NJLL,:D%;5
M2'0N(]D+A=J%+(Y6TM7$.[.]Z.I%5R^Z>M'5BZZFC*UV"JN_!$N,XZ])FM8B
M6T+FS)8T[VQO>.PGM*H.;T!X[4=J/Z/K(YD19RB^R6YS'*&BN"-<DD6QH@^1
MHRU*<2U'L\/*U488P"@KF(_<HW<H#>E#ZKBED<_($.-Y6[-7*]0$X-D:YV6;
MF3U?W!R.@,;RP!"(^9T,J1Z755'B-<KKW4(/P%6RZ4[ED>@Q*@=D"R4E^IAL
MZ:'V'-.+W:?PWSBOLSXY0?0*(]C"X9&ZS^&:_]",XBBV</H9L6+4^9U,U79:
M;\(DIP?ZZZU^]12E%:T]_:$5)!B,28UAB,_/.",2TP:5:+;,45,YDWM\B#MX
MT\OXII?!Z7Q T2K#*5[N+L*BX\3A+1&ION-RE8<QHF>D@ %&,V_\\L:O\S!^
MJ8A4>"!9Q14,Q=8S9<'5%0.CXC+K;0IQ)7*Z#W[#66!<"<+N>>@IB#U@Y"Q_
MI*8G<F"3!!@OR]^JZ;O2N/(I&*2?G 8)JJBZ<I>.X:^T_#KT_DH%?Z6<6?L,
MLV=ZF?'T;2UK\9*SYYISB;]Y&WP-Z8-!O;W?@)$,.+K!5/7R:;<E.?]H9IKG
M=\ER55X]H3Q*R%I\7^5D<]RB/,&'-77J187W=C[%B/6^S?&MI5,X[E=DMQ:7
M8;%*B0K7XK<'[J4-7'V@05%O!R\.WY<='B!H.B Q-_21JPQ%=%/1"IA_A-OD
MDIS!27D=1AW/0791*3O&@.0_X-N*Z.YU,OUZW3[-):88T&T0(K=)^TSK;#G+
MXH>PRJOBAY]__/G#^G&UIX5'K7Q_'VEA5:1%YP'/\>4+VYNG'O+P%*^'>0[V
MIVK].O#ACT7[U^*-#&^BL4S%Q731^KFB)\5\<:QY?!FF*8HO=B_)ED$ /JI/
M3_#I"=Y#ZSVT0^CBXHOR]3L]XEO)%73$ED"@H.&*=1BT7-14!%>LQ_(0J>E]
MKKA+9?!2U>-<<9#*KRVNY<.54\G[K+S/2L7%,+ >=H9.K4%T^3-R;@UG0M=W
M_=L)FKJ+QZ!K\%V0HRW**M37,R@<R(1C$$B4+]CB[?WR!5N: ^NN66"'_T1X
MF25_HYAE6Q;V\[93;SOUME-O.YV*VCE9S=NKG9S2+I*7E$$)]H>@H&K)(TU%
M".I Z*QH:M+TE&BE!S8AX2H2V4OB_11FX;(F@J@S"YROR<6#+G!6%;=IF+W]
M_LW/[$@7V;X#!.=\"O,_45DC=(>*DJC\9>=CV<_)A/712MX]V6]93-5P"I(*
ML;P1SBRZD.Z2.EWI\F23S*BJWBS'B]VQR6VXH[^:?0WS^/@D-$%QO:GWY=73
M!E&,?\<TC8>Z/^X(_>S@S]$F'S2*\?YPL/"I?GQ)=?/>]DU&EF)59Z/,RQ7*
M'U9A-F]8^- ZE1JB9\ME3B21\OCZ-A-#(]1,$E0KL+0,PJ[=]%M2$$*2*$R?
M[Z=!89.9V ZHR/>+J,2R1/-%_8ON2.OAAA_ ZN'M7& [B^#EZ:LG%!$)=$N^
MSB*)4,Y\A)K?4#N=_FUS_[;Y4!0])&6*:-Y;G&R3F B?#*RX[<:GDD;CG&:3
M/V#.(==CA'&K%J;U1"CN%IRI!)P5+)LOK+,A*WM]V3V0&3F9 9UM1J7R:KU)
M\0ZA>Y1OR;'>#>1GG&V)MHGBY@)_P&68GO[]$A>TML9_H_)H-V)PK&T^0U]9
M&S^M6$T?"ZE_1=NQ'$WC$F$::6KM:'00;L$S8?M1J3\Q@36A%5S:!:W'I3P-
M,UJ7@W.,=34Q0B,WC:F[T:AT0HR2H+;C^E]5;5J2-@269W>DZ4UYX[6Q]WM]
MW!M#]_GTCJ-;7Z<L2YQ98J:&/,\2_IYJ,BB+.^QVH\WK IYW2?'G=8[0358B
M(EZ48^'9->_4\)SOET8;#/MLUQ'&\B0KDDC+.2 Q]411?7XE?\AQP0Q.&WZF
MB6(VK\JB##.:BC3*\F/.9RM^!8NAH_TEBT$ZA,ZIQL=,BU_PX%5]OC8:"84'
MZ_C4F%RO*MR^WG]_()IY@.+9%N7A$MTANJ#([R\Q83>,:&3% \K7;X?&79T2
M'_/L8YY]S+./>>[#?+<C$PL\BE/GFN\TPF,**:Y V6FXQC"3\=0Q$'NX\0!N
MY*FC!,\MX/AR74FP$)X\0)^;*W4.A'B _'BNK [Q%F'["5W!@'6A]$B(<*6T
MCG"S !R>KI3.86*AD)'BRF'*/CZ L7A3/T/  ADD%->54X._*AC1K"ZL!*9^
MRXET!O-M^5-"JL>C. =NZH<E?V6PH\U=N3C'R'*W?'/X+'>5!X&4(L7/L(;:
M:+[A,ZJS9C+LXXPJLXT8&*+O.K4;5;.N8GTWN+6HCY8N \96^H%-Z["U(R\>
M#/C/DP?<KO!G,/"_. .\V?PP,."_.@.XJ905N,(R?=5.=UD*.)9>^^N;# 3'
M>OK:H+GZ,G"4O3*HG T$!]DQW7#,%"$XR--7!<V6E8,C[17#@8O/P:%W3$4T
MGPARA'[T&K<_!F%$>"EJ7:KW(^ZPT4Q4LY6AK%<)VXNJ("NN*&;'Z?:+I;E@
MFL=/YGGM-WY,T>'-G3IB[P(M<(YF\;^KHJP7UIZTT^IX0\\Q:&7 #N).M9^6
MT):PAJ#?4$ID]:N";.ZOLRC"%:&):/FWN"@OR3E!;;5IF+S*H=$]G198R$'S
MF&2-&["FH*&)7>(5U%$WJ4<;S V11,MDD5 XR26/R@9Y<A7,LO@C^36]X1-4
MU ( .5>KG![53<O:N4&&0LF6=N=^3^V33P.R+UF$TY3(3[2S*>A81.B&L(ZR
MN4-Q%;UX+8K\M5CL:*K6D1H@(E)C#LK@R1N@[]&&G#.UA:+$S6YF%^&6Z3<L
MF<TU\H#;E7(;YF42)1N"5+:DCU$2L0Y$MO0X [#QX?+FY$I@D\EK=UZ%S.<9
M(F#4'VQ5?Q0V:(*F0]07)NP121SR!05-?=5?XU5_+ZF(A7*BM94[1FTW43/]
M=6/1IGVK>48TMWJGO:2'6?E4NN^HN=T=$G)[$/.+3X#[&>>&72I0T-HTY<^U
MMH*OMC5_A3.J,+BA:@D=8MIMCK>$#YS1B+,Z>8G^]H;Z?,.T5=KJH#_Z,DV*
MRE-UMDX6I?+&;8ZV":ZZE:MQ)[<'V?L2;=B&@\,6OR/'6%A4>7V:?2"[?9Y_
M9%='&GP>4U5?N6:4BYV@P+)L=XMXHZ1QKP/9[J/R]@'C^&N2OA2D7_[9T*JZ
M66_")*<+G.9:E6&V3 Y:.!'PB4*7)EOFT0[L;2%O-UF,%D<*KYZBM*(1F8*O
MU6=(0RA09>W$N/09E0S>7C?T%8I\A2)?H<A7*.J;I\?5GG$O177J\$"U0:RL
M_+J"D+0 B_L*B*X@)\Z3!-DBIIY++K'5X,9;5T 1KQ$U!=(5?%1.GX%\35//
MU!\20J"7T17(H$>5V%/H"B+\*BAB-\W4SR.(. WW@^K+B;9E50Q7#&.R]4!\
M,0QFD*T>UY2^,\8Z(,>.<]1WC5D'[6C^*WV7@'68F@WCU'?5G!G0T*!/,.#3
MSXTR&S( !GKZJ5$BORT8BNFG*HV2\ '&<_I%*K3$A8/Q<Z?FA-B1#9?0IZ_K
MJ&?JP%&:OB*C(\ #CI\[VHIB1)#!--.?@H1*/B@HPR?4.\T4-IJ)-%,9RGJE
MF;Y/R,E"Q,B'\.D"963'O PX8K0:-*/I:K$@^@%9:K582V>AF?U4_<@BHEG4
M #>RQYZ0>DFW=HLN@ON-."AS-F;N^/P4[7%F[]L;@BR]YD"E>?O-79*F^"NM
M]/V"<HF>IJ*:.W<5K7^99!6Y6^<;E#?/*S%8@P]@%8?/SXU9>8V()-!LR(H0
MM7O66(IUJ9%-1>;N:6C+37??$X+60>;#4WUXJ@]/]>&I$_$@6QI2X#W(??1=
MX-UT1C[A_I+9&7EY@;KPN?EHAU6VS\CQJE$W.$-OJH+>;-"2^6N VO+FP6-[
MC&S2,.MKTI0<UH1M4XG$?D9.Z@F@M1EI#<7'FE#Z=.D/W[_Y+W8Y&' G;R/T
M-D)E&V'7$FO?/<C;VY(&@^2[TT:S-0T#89L/>PQJR,;$(+I]-'*6915]U>'X
M1RH\[)^'Z'8###BR(4QNB8K24ENT7+0"9^>A)=MM5%[NR(IK0AN[GII^P0&_
ML6&ZN;4M1,T-TBZH.,)O;)AN"<P-UP_QYN8)FA6]N=F;FWGJI^ ^PK+GOYNX
M\%+Z86>T*[B(;?,0"<<53X5X]ZBHVZZ@([M6W$[<AY\H<EJ./A^%+:ME.,?G
M9+.'O>.39QH?V@ARAC[282UK1GP/096%54QK<@01SF+J!*]_(KV3F":/!8>V
M18 704$S#IJ2!$6 ZE2AH(%S13B-PO0 E-A!H6_N<;T8NOGHY>JX3,.BF"_^
M".G;4^4\OZ-OEE\]D3V<%,\3DKJ\"?*]O74%0N]\<5+;HVA2[F:/1?ULO(@%
M2%]O,S(NCH ^TYE8C:8@JQE"HE/ Z'7V&HQA>/$8'KT#D[B-$]N[\V4#&&3&
M-!&]($_?^3T#^&; T(B.9-C+4\P?R&XIFGW?60UHEL5[LH]U;G@H##J1*2CN
M45FF[;VT+]DC_<29VN VL'R;HTV8Q&T!0N@C=PHCFV+V#YS_2>LNA9ND#-/C
MWNO)*6M8W6R:?Z!O2 8M>3+.S--G#&*.UVB?"_64YF%&]!%Q5D7$@<NEOU W
M)<NL^S?&''AC3.G('@P9P&WZ1L _9 C[N10)P_U!$,U@#T; 6H_789+3Y 0D
ML4*DAS:$2KU%;_.$6=[@V, DA<6\*HG<D-&20#Q"3]N9HG>J5N]SM@\/*:*>
MB=78QQK"'A%0E'E=0<@_D&/! SF6QTE!01GP*0[+E\D8D6.6+PJ;O9%;E#]B
M.Z.>]&CK^O:5Q5"R51]]>\QB.#2: /1%NTX+S]Y6 WW5."P$4I>[3%\Q#@M!
M',+*"09,^HD"BP$3VIO J$B_5F A*N/%9(!AE7ZTP'98=07\@!&5?L; =D2'
MBC^ B\<NJ!H: W+@0+J@:.B-Y+(GTG1!Y-5@2P56FF"1H3((ZXI?32O"V$#1
MI]+S6!"1JDCS(%&JL,?#.MX.V[4OAS7U%]!'%!9H_I@FRWJL%SZD,:8,LE]5
MG&>Z\6G+<&;+,1%B36H2(_X#=*??M(ZCGR^^%&W'_E"ISZT[CE*9:'J;S!>7
MY,_=#X#HFLO>)?019\L'E*_W@@5I-"]7*/^,L^CT>4/M: 'IL'9I/3\]QMZ-
M_-E=#/L]/GQU0U^3C!!]YK1 1'A;$83>HRU*\8:*#VP*%8<XVYAE:9%+*8Y9
M4;#SL<T^MMG'-O/C-M5?.@X+>B12ZQG9F1T)=N-,:D\$[#!O1K=&G?:9AKW(
MTRDQ&*7%-=Q/GN<>&^;3E\&=0?7T#ZUY[3;<R47%ZZ-!4?FR"NB3HO\G?QP!
MW>Z)78#T*/U_I*^_OGP8=@1L!10X<#X<61H'S\-L3F"W)>UQOAL%N1=S>=1D
MYG)@M1WM;"=_.QKE'EGUFT:EP85KIY/)6M8VA7 ]N0O0WN9X@_)R1ZL5EJWF
MN.DH%S'JW-,Z&SY@'']-TK1[]:"!D13-9@B[RZHH\1KE=RBM62E6R:;@/D8"
MZ#'R.S.U[9J([2A:93C%RUWM$^!S >PU*B?7;/GX8O<I_#?.ZX)B')N<P@BV
M<'BD3O@DB^(HHW*ZW^X,%O9_-K3K!=H8<+4ICF(3IQ*KKL=(HW),Y1Z\WJ 2
MS98Y:FK6<H]"<0>?&S]^;OS@=#[D88SHVN2O!E:S<\WCEW?1^MQ^G]O?L1;.
M-+=?54C  ]Z\KF"I(M[C@>1F5S#TM29\K0E?:V+X7:-L>G %HIZ'LY1!RI6-
MUA,SL"E27^V 2>'%U^WTU068%$A0<X@K>U!\M/>R\[ERO/?08_H'X+MR?HU1
MLLKRT\F7K!JJ](C&8.NS+&5E(@[8N4MT-(0986R^2I:I1(&S*JME-*SHK&IO
M&4Z?/<NR72,%:I]5\2]1Y(N&DEV_-F!D1*THJ5W-TC>HS28(:2CL93GNABJI
MZ*C_93G2!I.T=!0).T.T)8+HX8@[7O!81S0X'%ROUTDF,,&A=4%Q,UH;"PZU
MU]P&K!L%A]TK<8-D+\,!AVMVE@L?XY:4@P/LC+9HI$(F'&=GM$,[DGV/P(]=
ME_>'(#E(2H3X=4C^BQ>'7U)=2ZT0K_S !BKOJA+9J]0N,Q=!GAI0%3I5)GW9
M.4O*SAUT&1KJ5*P:=;(@:N-\06-*\BVS!(E$3S,<L?.N3YL$[\Q2>1=^_42V
M5)Z$J1SLPHYF^*&OWAS"DJ08$O?TR8/^8=T^"7D*MY7/P#N?#+PQ0@HM#TVU
M.:30QC LV=O8N74"0P=ZM9]7#)^T!*TO(J_$99C::#OAB>KF+!L_!BDU=Q7!
M.BRKO'$;$T&B_F60GOB2U>P;JL,;L'+T([67K>/4\'@P2MZ&NSK-YGV%9@MR
M'O\W"O-K7'6^$2 U0/!61:IGD/Z1'(,(/8_W4&)!::!!66$*VZHK V1WZK?L
MO/7)$NM3YPYDJ*Z=;0T5O1*='#(LG'0S9(L2D?69'-,/7U&Z19]P5JXX%>.D
MAE$[AK1SRSAN9;M;S-T#F4MUB1[ZV\S?5]R'NZ_81M[N$+TY8OK.[G521&%*
M:55ALW,@FSC^DL6$+AIIC.*K)ZHQSM;T7S+,LL8(LE^,, J5TQ@\0KL;ND"@
MY $O$M7A#"UB*+F"BT5VF EPR[MHI,>9 K_,BT=R%)MYE;F(U >T$0')BTEI
M+%,7%(-,!FN,UH:T,>^IG:"?19-]Q_MKO;_6^VNM\->6ML;C#B>5Z%M&UH+7
MW[:@S\EK+6A#:;0:'<"V0M?7JJROEHJUD/54-O751+$6,46[L+Z*)M8BU=ML
MHZ]2B;68*?M4-!0RL1VKOE90#35(;(=,U2.IHXJ(K5@-%RRCHQJ(U:CUBI+2
M6,G#VI!%56>=QL(<UF(E&Q&CH\+&\RQB&U$:QI.@HV2&_=CU"P\XSWH70/>.
MCMH4]H,#BD,T%YK^T_Y1N15*XV"!\Z!FN_.7:M'I/68P$*#>F]J>,>I/*&[*
M.OQ&IKK&^1UZY3 &M!P@4/M^E6S(OJ:E?NI'3E!\B=<;G-&;ML[-B:N(8MI%
MG&S? <F]3<.(ELFY1_DVB6CAY&ZD7F=[JPZC%D0EQ\9[1%9\E(0BP '=]!'Y
M(<=%9U@^I+T^LN2^]$EKG=D./8X94,)#[V/,YSQ8DO/@HU5XHJ*E(0?Z-J</
M6/$!*SY@Q8J %9MRQ"7E+.>6!\\>+5:4SJ..@)JFH"^&9"K8O%()],6(6 N)
MG":O,23$-L_$4%8#<Q; -V^"%&?+$N5K(FT^EB]CJ'&8%<&F?<-#S0389PH#
M-L#^Y/8R GYLYZ;E63\U,^_$E1U$G<:IXM '.I!AH_^W\98-2RP;=*G>9 4Y
MM^GGO0SS?)=D2VZ.%*^+H636_:LPK9_G$A=EP2XERFAM+,_XI!(T@^*N)L9H
M_'38['=HT[K]YXO;/,FB9!.F-QDT9;C/F*9R#65H%B4/JXPU%;ZY:<1*@TV&
M<W9"L<)0]G,ME5L\T+#>^.^-_WV,_[T$6&_]]]9_;_WWUG]6X.>@=]P99JL.
MJA><8^+J &+F&2:M#J.5G&/JZA!Z[!DEL*J9BC7FK=KFSE$Q-&I(4;4_3P)J
MR-27DVJ[ &:-?^_'(*1/!!9)W:'Y!P$Y2 YOB>Y#SQ2]>\H3F/#M]22VEV?O
MP^7-[#CY)[1^1)W./%Z[ ;QWQS=E#X]LT <DR!)=S;+X/=JB%&\H9&P*%8<8
M(LJ;? %R<$!@%#35Z@=57F8P+VC/5>Q]H#I]H$5>GAA+R;^.E)%__.M3^)2L
MJW7GNF7^73]59#=SJ>KZNW:J[LAJ1AW?K_-OXU##1*CCKZ,:W_?O!I\<>.W;
MP*AS4TKW,\[-ZW4 ;&V$\A&>?Q>@8> !^DEB_)RE>;E"^<,JS.C[6E^3-!T%
M90$-3N$\SKH]S&8(N\NJ*/$:Y77@+!735LFFZ+P])'J,'-M4R_$H?D#1*L,I
M7N[NDN6JY',![#7VRQ&,$^Q+@195^I%HD0QV(%W-O2O$.I<O=I_"?^/\,B5J
M .?>5!C!%@Z/U'T.UWP)1W&443D5W+/ [ZDXBDV<2GS7'B.-RO%GG$5XO4$E
MFBV)5%V[)KA'J+B##T,:/PQI<#H?\C!&=&WR5P.KV=F$3*E;NWS E/L!4]VV
M("PPRDR=:ZCE RL;>EQ!2%4FP@,*&JY@J:(OX($$<5<P%$<U@JR9K@1Y @XP
MN#?/%5#$:T19<W<%HIY'D925RKD"$:^6%<>A-O4%PY4/.6[-J7]T/M]L)_/4
M^9:]6,31-JX@TO/(!+LG7*D9TQ,OOMW&E2HR/4&"FCI=65-BR:Z7#7_JE_4
M2GO_ $57MN88*83221&V0& ^A=#BJO4C16+H.ZTLQE8EH$"?!&HQ4$8#K/3)
M&V>#N%3@H+D$F</CX<USX75EAC"+@_V;+T%.FBOFQBB-;2 MI@>=O3)BQ"^Z
MRQ $RIWHP:I/F["D=-SIHSI_(&JV)8<0.5?#)7K??L8[\A5O41XA9C$YN4$,
M54/B$-F4<-@_NT33#M_(<]HQB"%.G[\BI?Q598>QD5OXEY4=QA"W/H!L4,71
MAJ LM6O4QV.Y'X\UIO7)<BNFS=8GZXJ3#'6#ZUL\UD+63Y359URR%K"^<I,^
MZY"UD/53(LR9=WX)EGL3'Y5/7L>,#U4'I?]$!@P_0Q&MQPK4GSJ026@H$+Q]
MR&!9C;,O%2&@Z,69S:2-V\XG4-N4=FP93\4LBJIU53\3-5OCO$S^[GJQ6'T@
M4\]DG'6>==>SSK+=;.'%L9QQ#HWL)VA@G4;.")<O0Z?4=V2N.G;$U5.45C%1
ME03%9>0Z&^6+K!I5KGA=?8:^=["8S] _) ==A$7'3<!-VY?IZ^L.V.?B&L L
MX/U=[ON[SKO^@,\(]]F^]B^SX5/7+,?+9_J^Y!E@U_1YGD/F+5J>B-<7)'GI
MWI6T,MLR/BU/0>L)E\[\1<O/L3$BR"P_I6R.(#.$Q&L^88)RAT="@\!C_]--
M _C=G#M@5 %[Y3%Q[MQ11(;EI'9%!H+AH^+%<47L44-([!&R.))P49553OYU
M>G2BIPW*"M7\T2&GM#&Z4)K\7G&&S7&5=AQ75V3.Z,6M]^Q-S!<NDK[#J3T8
M,'CXI 3\PP122G]O'U)I3\HM4VH\^9I7S<=\^38VP\/8;U#[7MWH()K[T'HO
M.#I'G@0FC$.UWV"3X;Q^O'LPUINGP"?#^U<\'.=?L7U\J\;=O7Q4VL<-C1DW
M-"V+V(@RF(]?<3]^94QKNZ6.XRE8VRTN&Z9!;M6WHIS!4:0.Z3/2.P,A0XS4
M9\1W"[DNU4.?@=\I[+HT5GV6?PNA&]J""@;O)^F*#+@,4YN@4],HS?E-?@W"
M*")(Q7LUHZ@U$TQ+L 91E==HI,<"HHJ^DK[3&/"/#$-R+Y_(K"&@/9J*61;7
MI7$OF\E/RKIV.0+ G=7,&[+^CKYP@GP<PWPS[]>PQ*_1+N$;&I.('L(G5+2K
MEV%<8K8W9(MLZ3G9:R#Z7[<W1/\ET5WR,"K_2,K5/DI_3]R.SPJDJR&NWK<"
MQB4-=,V*]NH <07I:HBK^G 'KS1&:T.T>TOW!$V3FF]B;]WVUFUOW?;6;;Z:
MK7(AGZ7Y&BQ:GJ5E6D5:/4M#-%C#.DM3,U"JUF=+MLX<VL\29<XL^N9=D*,M
MRBH4%-5Z'>:[ "_(K]I:NL$&Y0N<KVG1W0 _ILFRR5P/WBK:1P>;SX"A=&#:
M>UE,[RB+Z5U#3F<!'5&S 6R@]RC?)A$24L%KI],4.]@' ]ED!UX>WCAKL([O
M;8[C*BKG>;MT&25]><W&HI%>,^WT1>>'!;4=U:S4'@2'BNVWQYTQ/VP,AK5)
MJJ]]7.U=R@_)FC29+^[);XL%D<C)WTB'!,>L5Y:&'GY:V!#I*R_?D_.64]]6
MSR3>0.P-Q'T,Q,.)!=Y2[+ZE6"A58*D+?>IPB*W&,#%LZM9SR+* *7Q31P+N
M1] I#DR]]@AX/8E5]ZE#,:9O;BKU5BSTS=E8-T1!%W7N^.T/D+3.:M!:_B9(
M<;:LWYF-T6/YXE^*)G&I04W8O14([%LBA2Z1^"8KJIS^=$O4I:1:LRW,L!X#
MV)JO<X3^1OG57U525S[\B,.,0Y:P]7 D$=:)Y-=4%@91Q>\P &&?PJRB^[C*
MR;Y^AD%WR7^Y3@,0V+@Q^?2PV@PP_<,*T5_2IRKI!&_81/!;#D_*6S I;T?T
MYD@=0S"7C<+)YOTRE@3-OR>?B)YA>44_*,<NS&YHD-[+,,]WY(B;K>G#R"#*
MN[L8Y.$F(WL%%?6SSK5 &+>/.X=+EBU8?@"#_ G?9Q,U-Q+NW\I"E[C@58)A
MM#;UNN%'<O#2.X4BRJ"XJXDQ&OE9!QTM;0"6%CT'T_VZL?>$>4]8+T^8G+3E
MW5WNN[L (AJ6O6Y=P41LC14)MJX8&_FK ZPAN^*ID(>C4TMWQ6L!@$/&/*@O
MH-\^6(#F27UQ_-9!(FE^U%?PQ3ID)*S&8%1^GCPJ?/.P*Q?P&+YQRR]=[QN7
M35A5,_0YMV4D4.(9>#7L(_M?B8(:*5T196&HL VA&F17^Q<)Q-CJB@0KCPC+
MC#N]E--Q$TXM"+L9DG*?;#H0&8/G>8R9:NH#&GRBJ4\TG7JBJ7>-3E!['N=
M]SY3]WVF/D50TD#G4P2?F:R'2Q&TU&1K(KG-TD7A#?C>@*]H1.J5W#:B3:G*
MPBI.2A0'$<YB6GBM_HET3F)JL@P>P[26FXH50J6$^4AQX'$M1;V(G,";#0-:
M;II'27Y#:7R-<WH),L-AH<T'(.HFVZ*BI)^RN,G(#)_"_$\BTY,3B@8?E+M[
M1.:LD2 8S;9$V*=_(Q3=ARFB]MUC@RXF- SOC4969<&0G42=A<5MN*.?3OCN
M J>Q$;KO4(22+:7F,Q)$U4.ZC,U#M:Y2>LXVQQ=>DT-^18ZT9(N:TK$?<4$]
MEO/%0_C$9DMEE'$YC<DE0RZC,+T-D_@FNPPW"5$B"*EK6B<#1W^RF -W')>?
M^G!GT=P\46OF,>1F<L%&.&UC YVSQZ(N*PVA]V7;4:F^J HB\Q8%67^/25:+
M8K0D-A%O:?@%D9L2(L#+/)32?T#;^1<F#0TRYKC/_83%BL@[]#]4#-H268=<
M*[-#_,WO85JQ[-12?4=^Q&B]3AI9CQ*X_P31:]%0HL?H'+2W O<3,)J-GBEZ
M(CV_$)T/Y>.;L+?ZT<A9FN*O5!<C;2YS1.[%^EH7;2]]$]F$5_/")GW?HBBO
MGJ*4*+79$LZ<Z#6K$><VDO-[>*?@1'46Y_X*>HW,R087"3F(FJ=#Q;N"WWQ4
MVMOPQ(\H+!!0;H!T,<^#\#, >QGCY"Y9KHC:]*5HGJ0%<,'H,2H''S".OR9I
MRB#WY9]'I:WCD=_#F2F@6Z;KR#QMR6+%^8Y]9)XV"=X:H9)M4NUH84@K/*&
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
MQZ.!O\ O7GP<)DX'C/BO'G'MX2-P[4E:,;6P9/6(#ETXL(IZJ6OY@'W#T^"
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
MG+"CF^ HN:P="$+ X"!-6BD8*K<>#M>DU8*!<M_A:$GK 8V%[2JSTI D3'&
M R,MY-L-C#!H[H@,N_!+^Q?Z/]2.1'[S?P%02P,$%     @ ^H,)5>W@%:=O
M!P  (R0   T   !E>%\T,#8P-#<N:'1M[5IM;]LX$O[<_(K9'*Z; '9LY^6V
MM5T#:>IN#>RVW=0%]MN!DD86KQ2IDI0=WZ^_&4I^B>.D[K;;W1H')'%$#8?#
MF6>>&4KN9SY7@WZ&(AD</.I[Z14.\.;?Y^U_M<]_.J&[_58U>/"([O_0;,+/
MJ-$*CPE$<QAGI4[0OC YPEMCO5#0A">ML]9I^_04GG;/V]WS"WC[*S2;@WZ.
M7D"<">O0/SLL?=I\<EB/:I'CL\/4V%SX9H(>8R^-/H38:(^:I#TJ+#*C\9DV
MAX.#?JLRN1^99 [.SU68KGW3R?]B%SKMPO<@#*0BEVK>A<<?2^-[8YFC@]<X
M@VN3"UT-]J 022+UI MMJ:%]TI&Z!W%IG;%=$*4W/5ZSN+50K7=#86]E1+ A
M7$Z%E4+[KN;]J9['&]\42DYTU\I)YGNYL!.INR0/B]\G-)><$PV&O[\:/1^-
MX:QSTNFWHD&_50P.[K'EQPUC?MS%FM7BM.!C';FB]] :7[;?F(*)]L$-7PVO
MQZ.7HZO+\>C-:WC[_OK=^\O78QB_@4]M_T\W[?K]+T/HG(EFY_Q('(.Q4(\D
M]<B;ES!^-?SK#7TWO'I_/1J/AN]@^/O5J\O7/P_A\FK,]G6>GIW_'7 $FTZ
M[>F[6 7J9:!>!ZJ%1@WX51*GH()K&6,#8K1>IG/PF?#=[W:3:^&&_Y2.=[2Y
M\\X)C" 34P2+4XDS(F2?20<?2V$)'VI.XP51,A@-+TDMK=?\#4P*SZ7Y1:8(
M[XPJF65= T8Z/GEP(]^[LTY/X+EPY")R1CZ'#]K,%"83PDOP6>VIQ-#ZVOA0
M=@15 J'G4&IO2R2#J>;EE'KL0D'JR<>2RETJ8L],8'+IP9M*[HZ QAB=$W;.
M(KGX@+3NFDY'8PD90TLJK@B\!@O$TL9E3F*:ID,HM3#+"._@2OZSFC]#B[42
MWD NG:("224-9M)GM$%74$WEU5EO0::9A+8YI6FAD*^Y8:^!</8 $!!2J<G5
M'+65:QN$ A*GVW;MOM15LT+Y0__'JDQ()X5OS8\-"KWD/"S(^PP<!I12*V34
M07$;2Q/X$LF*&RQ1*A(@.)B"NRY.UV!/+%P&J3(SM\"*Q8ETWI)#0/!@93=9
MV5@+N5L8<\?:O8[Z^0EUJNLN>OR/)Z>=GWJNCFM=-#A=3)I2';'!>2,0%D.8
MR.TR4LCN!"1L1$JZC,59+">J8+K@ZT2Z6!E7TCPF$6M4%:_"FA@3&G9P1.%)
MD.)=Q6!X0^5+3Q N*3^O2T42H<6X.,+C,+5SD517U:7DZJ\KG%3Z.8O7\%/%
MDXW9>:7TUDHIK<0;W40527"]V>NJREW<"W0D0CX+)/OIB#:8_V-1NMVG,!%'
M2,&I5ZJHW926%%"F3J4+^4]2J(,>;F=6S+'./A:5"-&NN7T5L4;-3'Q3$HN0
M+<XHF83#FRLC)Q-)+N(-R*H"!3[4K*ET7!5"=KA00@);&(=D$!T(PZ2"&@T9
METHPR=&V@A&KZD(SJEJU7F+IOPA9D'B(YF.RU[QS%&VB:3-[[TW>.Z#:>>;N
MV"(\3F7"D!'.:,$$)QS!C=L-QI&PR2*FA#(I(JFDGW/!V;8L(SR$/T2V N<M
MT;5V)?#H3;VAHK0%(<N% AG'QB;!@-"X3,+3!D4 HSM8,')9A)JR"D2$<%D0
MD^TWC.)C&$Z%*D/FLH\Q3?D1R92\X[9T ,ORM@,359?;FX* &II(+.*JUB,R
MI;_?@EVX4BRED?NJ]-,-*42+CBTD E:>('MZK'RO Y\0?U0^O1L;/IS4!3W<
MV0J SV -KC FCDO+$5BC\RU:<^,\C?.3"-+E8E)4'SOAZ)XI*4&)\GE#NC:<
MNED,YRH^<NER:==Q954FW++V,1,$Z&$2*#+XHZ:O.9V>/J"J#UD;\HTO=M'>
MP^WBC[;)X3%$L@!J8Y6PS!_K8%GE+H?[,XKAG>9F:9J@!L<;ZY;U)PR0RIQ.
MY![Q 7:,#%4XOI](LB\H.2)($1DY)COZY#9KD0?XL91D?L!\J<,#:G>\]\WP
M)9U8N9&0%&\^!?!Y(I9( :IKQ[(IG:'XP,6@*N2A'(06)#P=69Q>/ROL=?]8
M'<*VY+A(:*+#98K?"Y&Z<:$I%&?J+QI517)4CER9TZ;)6V$S-;5N/>?O??IS
MMWI)126UE$(-<CZ&K*?PA4=*=9P;%2=+/35JBDS,6DSJ)V.V)@K,"V7F2'=G
MF:G80=Q"$47]JU2MDWV.QPOR>!<NRPG=AJ<-X'=JWW"_/AP(8E2J?COV[)"D
M#L.(*T2\&MGFEP=>MS4JIU'N$:#2+1Z;R<1G?-'^Y\(G386IKQRS& GOSA:^
MXM>3C_K>?FU;6#,K3A:*(Z(/M,W(>&]R$BIN(!RJP4ZBHW8#^.>X!U,NE=3I
M+$)<R2^W=L$[^\HV;L?GE\1AEQ<P+=>Z]08F@(?-:?EDTW??UBD+,%=VT*<=
M?".,;.[3FV(O(K\#9_U1*/R)+OH_#OX"'%QE$E,8WF!<\D,">+-V7KC*A"1%
M>M&9/^<V_.\,E@/ZY&+X'7_QXA-?-%E?GG;+WZH9]%OART'_ U!+ P04
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
M]FEM8-3,%\=.NY9_./T74$L#!!0    ( /J#"564.+/58 0  .4:   -
M97A?-# V,#4P+FAT;>U9;6_;-A#^W/R*FX>F"2#9LAQWB>48<!QG]=#%::Q@
MW:>!EBB+!46J%-7$^_4[ZL5)W*3MUJQ)V@ V#)''N^=>^/ H]V.=\$$_IB0<
M;#SK:Z8Y'="+OW:<ET[7:>)LOU4.;CS#^9]L&WZE@BJB:0CS)?AQ+D*J#F5"
MX40J33C8L-OJM%S'=>&77J?;Z[IP\CO8]J"?4$T@B(G*J-YOY#JR=QO5J" )
MW6]$4B5$VR'5--!,B@8$4F@J4%I33M-8"KHO9&.PT6^5D/MS&2XATTM>+!?:
MSMC?M-=V4NT5CQ%)&%_V7O@LH1D<TW,XE0D1+[R4A"$3BY[#!#3;3'A&:WI-
M5;5V;:EWDYD/1#$B=$\8#[BGZ86V"6<+T5-L$6LO(6K!1 _EH?[NXEIT?SX8
MOWTU.9CXT'&;;K\U'_1;Z6#C%BP?^_$%:"Z-H\%-,<]2[U,VOL[? --%U2<=
M'HU/_<G19#3T)]-C.#D[G9T-CWWPI_ Y]_]W:.U=.&O.FJ,FS,:C EZ[TW6L
M^P<VG,'P<'KBCP\?5L#J,.TY+V%Z!/ZK,<R&IP?#X_',GKY]/?X3AB/?S+B.
MXWX6[K<H;UB/"5S:@,((7+,"E1FX$AAXEV>:14L/*N-06I\(PUBB9"\X9SH&
M'5-XDQ.%@>1+.*4ILB3(" Z8?,TB"C/)<R.=63 101.VS(+-GW==U_%&,DF)
M6!9/;6\;4.<1@D&4]AL$J0KE*55,AD"%H3/X+1<4.EBQAH M(!E$C"-7K[#,
M:) KIAF&@(@0QA=(R&)! 6TE+,L,;OP8R1!)'F*J***]BJKTH0:%L"WPE5S"
M'RR(T4L,J06CF-$(CI@@(F!X*$RCB 54&<>-ILHQ"W#,Q-&"-%=9CN$&+>'*
M)JPB66Y"=(:$,C5'SU7Q6LB48*5_1M2<")K9TPM.ES ,BI";$K1PGNC>-RQ"
M3>:<HJ.<5T?.?@.E&L5(EI+@<N2F8MU\GTOMK2$J!ZVRDBW(L *B&\KXG(4Z
M-@_.\[I0;4XC759K/5(<4'4!FU,>VP!UUUB,9J,XK!5_,(D/"*\WE);I"G#G
M>:7@3@S7R=#A_6$H#-_,1E^3X)MYZCHEM9M%'1H _S($>SN/-P9?P-4^\D1%
MQU'.D9L#)"5N>''%E8J^SYFB"1Z#F2&02SK:(LC&"MK=K7![13J7S+IBU8IY
MVGN=G9*_4%=(0\]P[WI>\%<-GK;?@\%PQ_5_'<13LK]#KG6?N/9VKF6BO-X;
M C77>L($-G*L[#5K(B;,=,FIHIGA7,M,$\Y1&S:6IH_$B11).+.*5=&JOT2%
M(2M4FZ86I7)>4K9,S<L*TU^O]9X?I:K:D1OX:SJV>[VC//9[T"'FJP?#?('3
ML%=>1IY:[GMNN>=2A539<ZFU3% HO8!,<H;;93'?PNN5^6Q[L$Y3I?S*M:[S
M>)GJ>I&VLM;ZQ?6_TO<=!^5AM@K?3^:?LOXC9OV6=U(/.?L_3#-RMS8P;.9_
MH4&_5?R]]0]02P$"% ,4    " #Z@PE5Y; R8I2[ 0!A01T %0
M    @ $     8FEO;&DR,#(R,#8S,%\Q,'$N:'1M4$L! A0#%     @ ^H,)
M5>N]X-BI(   <#P   L              ( !Q[L! &)I;VQI9F4N:G!G4$L!
M A0#%     @ ^H,)55] "PT+'0  ;8$! !$              ( !F=P! &)L
M9G,M,C R,C V,S N>'-D4$L! A0#%     @ ^H,)52SL!ZES$P  [BH! !4
M             ( !T_D! &)L9G,M,C R,C V,S!?8V%L+GAM;%!+ 0(4 Q0
M   ( /J#"54B^7+31&<  -$["0 5              "  7D- @!B;&9S+3(P
M,C(P-C,P7V1E9BYX;6Q02P$"% ,4    " #Z@PE5_]<JMF.7  #66@@ %0
M            @ 'P= ( 8FQF<RTR,#(R,#8S,%]L86(N>&UL4$L! A0#%
M  @ ^H,)5;?_N'DO;0  Q0L* !4              ( !A@P# &)L9G,M,C R
M,C V,S!?<')E+GAM;%!+ 0(4 Q0    ( /J#"57MX!6G;P<  ",D   -
M          "  >AY P!E>%\T,#8P-#<N:'1M4$L! A0#%     @ ^H,)51VX
M3"!4!P  -B0   T              ( !@H$# &5X7S0P-C T."YH=&U02P$"
M% ,4    " #Z@PE5T!IU6XX$   _'0  #0              @ $!B0, 97A?
M-# V,#0Y+FAT;5!+ 0(4 Q0    ( /J#"564.+/58 0  .4:   -
M      "  ;J- P!E>%\T,#8P-3 N:'1M4$L%!@     +  L LP(  $62 P
!  $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
